]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
ibacm: Define config, bin, and prov lib path in configure.ac file.
authorKaike Wan <kaike.wan@intel.com>
Tue, 3 Jun 2014 18:46:22 +0000 (11:46 -0700)
committerSean Hefty <sean.hefty@intel.com>
Tue, 3 Jun 2014 18:46:22 +0000 (11:46 -0700)
The reason behind this change is to make the ibacm
module works properly under normal build (./autogen.sh, ./configure,
make, make
install) and rpm build (./autogen.sh, ./configure, make dist, rpmbuild).
Without this change, the rpmbuild will not work properly:
 (1) For normal build, the files will be installed under:
          /usr/local/sbin: ibacm
          /usr/local/bin: ib_acme
          /usr/local/etc/rdma/: configuration files.

 (2) For rpmbuild, the files will be installed under:

          /usr/sbin: ibacm
          /usr/bin: ib_acme
          /etc/rdma/: configuration files.

The configure.ac will be used in both cases to set up the path correctly.
This is necessary when we need to load the provider library from the
appropriate path.

Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Makefile.am
configure.ac
linux/osd.h
src/acm.c

index 4029c635735e0e15453a005ac47a152d72c08a40..f26899c261c09284158ec8f415b87ba640fc2d03 100644 (file)
@@ -1,6 +1,6 @@
 AM_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/linux -I$(srcdir)/src
 
-AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DSYSCONFDIR=\"$(sysconfdir)\" -DBINDIR=\"$(bindir)\" -DRDMADIR=\"@rdmadir@\" -DLIBDIR=\"$(libdir)\"
+AM_CFLAGS = -g -Wall -D_GNU_SOURCE 
 
 bin_PROGRAMS = util/ib_acme
 sbin_PROGRAMS = svc/ibacm
index d28a982984ed9e1f705ad0cbe56e2f94b926542c..4fc8aa00f62af1d6c8a940fcbb045b2ab66bf4f2 100644 (file)
@@ -31,6 +31,27 @@ AC_CHECK_LIB(ibumad, umad_send, [],
     AC_MSG_ERROR([umad_send() not found.  ibacm requires libibumad.]))\r
 fi\r
 \r
+dnl Define a configure directory\r
+IBACM_CONFIG_PATH_TMP1="`eval echo ${sysconfdir}`"\r
+IBACM_CONFIG_PATH_TMP2="`echo $IBACM_CONFIG_PATH_TMP1 | sed 's/^NONE/$ac_default_prefix/'`"\r
+IBACM_CONFIG_PATH="`eval echo $IBACM_CONFIG_PATH_TMP2`/rdma"\r
+AC_SUBST(IBACM_CONFIG_PATH)\r
+AC_DEFINE_UNQUOTED([IBACM_CONFIG_PATH], "$IBACM_CONFIG_PATH", [Define the path to configurations])\r
+\r
+dnl Define the bin directory\r
+IBACM_BIN_PATH_TMP1="`eval echo ${bindir}`"\r
+IBACM_BIN_PATH_TMP2="`echo $IBACM_BIN_PATH_TMP1 | sed 's/^NONE/$ac_default_prefix/'`"\r
+IBACM_BIN_PATH="`eval echo $IBACM_BIN_PATH_TMP2`"\r
+AC_SUBST(IBACM_BIN_PATH)\r
+AC_DEFINE_UNQUOTED([IBACM_BIN_PATH], "$IBACM_BIN_PATH", [Define the path to bin directory])\r
+\r
+dnl Define the lib directory\r
+IBACM_LIB_PATH_TMP1="`eval echo ${libdir}`"\r
+IBACM_LIB_PATH_TMP2="`echo $IBACM_LIB_PATH_TMP1 | sed 's/^NONE/$ac_default_prefix/'`"\r
+IBACM_LIB_PATH="`eval echo $IBACM_LIB_PATH_TMP2`/ibacm"\r
+AC_SUBST(IBACM_LIB_PATH)\r
+AC_DEFINE_UNQUOTED([IBACM_LIB_PATH], "$IBACM_LIB_PATH", [Define the path to the provider lib directory])\r
+\r
 dnl Checks for header files.\r
 AC_HEADER_STDC\r
 if test "$disable_libcheck" != "yes"; then\r
index 05c7481794d74fa78daeab79c5759a8b6301fa89..5ca4c6f554c58d3559fd0949e5e296cbb63d6354 100644 (file)
 #include <sys/time.h>
 #include <netinet/in.h>
 
-#ifndef SYSCONFDIR
-#define SYSCONFDIR "/etc"
-#endif
-#ifndef BINDIR
-#define BINDIR "/usr/bin"
-#endif
-#ifndef RDMADIR
-#define RDMADIR "rdma"
-#endif
-#define ACM_CONF_DIR  SYSCONFDIR "/" RDMADIR
+#define ACM_CONF_DIR  IBACM_CONFIG_PATH
 #define ACM_ADDR_FILE "ibacm_addr.cfg"
 #define ACM_OPTS_FILE "ibacm_opts.cfg"
 
index 33f53be1760a31a76b96f7d3cfb81e398699b92c..79ac41e6104641d4be7b97b5ecdaacb6f3aa1fab 100644 (file)
--- a/src/acm.c
+++ b/src/acm.c
@@ -347,7 +347,7 @@ static void acm_event_handler(struct acmc_device *dev);
 /*
  * Service options - may be set through ibacm_opts.cfg file.
  */
-static char *acme = BINDIR "/ib_acme -A";
+static char *acme = IBACM_BIN_PATH "/ib_acme -A";
 char *opts_file = ACM_CONF_DIR "/" ACM_OPTS_FILE;
 static char *addr_file = ACM_CONF_DIR "/" ACM_ADDR_FILE;
 static char route_data_file[128] = ACM_CONF_DIR "/ibacm_route.data";
@@ -372,7 +372,7 @@ static uint8_t min_rate = IBV_RATE_10_GBPS;
 static enum acmp_route_preload route_preload;
 static enum acmp_addr_preload addr_preload;
 static int support_ips_in_addr_cfg = 0;
-static char *prov_lib_path = LIBDIR "/ibacm";
+static char *prov_lib_path = IBACM_LIB_PATH;
 
 void acm_write(int level, const char *format, ...)
 {