Move all version definitions to Make.inc, then they should work for both build systems
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 19 Nov 2012 21:21:20 +0000 (21:21 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 19 Nov 2012 21:54:53 +0000 (21:54 +0000)
Make.inc.in
src/main/Makefile.in
src/main/radclient.mk
src/main/radiusd.mk
src/main/radmin.mk
src/main/radsniff.mk.in

index 9c9f4a1..9cc0129 100644 (file)
@@ -79,6 +79,9 @@ LIBREADLINE   = @LIBREADLINE@
 SQL_ODBC_LIBS = @ODBC_LIBS@
 SQL_ODBC_INCLUDE = @ODBC_INCLUDE@
 
+#
+#  Make version info available to the build targets and linker
+#
 RADIUSD_MAJOR_VERSION  = @RADIUSD_MAJOR_VERSION@
 RADIUSD_MINOR_VERSION  = @RADIUSD_MINOR_VERSION@
 RADIUSD_INCRM_VERSION  = @RADIUSD_INCRM_VERSION@
@@ -86,8 +89,25 @@ RADIUSD_VERSION              = @RADIUSD_VERSION@
 RADIUSD_VERSION_STRING  = @RADIUSD_VERSION_STRING@
 RADIUSD_VERSION_COMMIT  = @RADIUSD_VERSION_COMMIT@
 
-MODULES                        = @MODULES@
-HOSTINFO               = @HOSTINFO@
+CFLAGS += -DRADIUSD_MAJOR_VERSION=\"${RADIUSD_MAJOR_VERSION}\"
+CFLAGS += -DRADIUSD_MINOR_VERSION=\"${RADIUSD_MINOR_VERSION}\"
+CFLAGS += -DRADIUSD_INCRM_VERSION=\"${RADIUSD_INCRM_VERSION}\"
+CFLAGS += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
+CFLAGS += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
+
+ifdef RADIUSD_VERSION_COMMIT
+CFLAGS += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
+endif
+
+#
+#  This allows dlopen to do runtime checks for version mistmatches
+#  between what it was originally linked with the the library it's
+#  actually loading.
+#
+LDFLAGS += -release=$(RADIUSD_VERSION_STRING)
+
+MODULES                = @MODULES@
+HOSTINFO       = @HOSTINFO@
 
 ifneq ($(WITH_OPENSSL_MD5),)
 LIBRADIUS_WITH_OPENSSL = 1
@@ -128,8 +148,8 @@ LINK_MODE.exe       = -static
 endif
 
 ifneq "$(LIBTOOL)" ""
-COMPILE.c      := $(LIBTOOL) --quiet --mode=compile $(CC)
-LINK.lib       := $(LIBTOOL) --quiet --mode=link $(CC) -release $(RADIUSD_VERSION_STRING) -rpath $(libdir) -o
+COMPILE.c      := $(LIBTOOL) --quiet --mode=compile $(CC) 
+LINK.lib       := $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -rpath $(libdir) -o
 LO             := lo
 LA             := la
 else
index 1a3aeae..f6833a9 100644 (file)
@@ -20,15 +20,7 @@ INCLUDES     = ../include/conf.h ../include/libradius.h ../include/radius.h \
 
 CFLAGS         += -I$(top_builddir)/src
 CFLAGS         += -DHOSTINFO=\"${HOSTINFO}\"
-CFLAGS         += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
-CFLAGS         += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
-ifdef RADIUSD_VERSION_COMMIT
-CFLAGS         += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
-endif
 CFLAGS         += $(SNMP_INCLUDE)
-VFLAGS         = -DRADIUSD_MAJOR_VERSION=$(RADIUSD_MAJOR_VERSION)
-VFLAGS         += -DRADIUSD_MINOR_VERSION=$(RADIUSD_MINOR_VERSION)
-VFLAGS         += -DRADIUSD_INCRM_VERSION=$(RADIUSD_INCRM_VERSION)
 MODULE_LIBS    = $(STATIC_MODULES)
 BINARIES       = radiusd$(EXEEXT) radwho$(EXEEXT) radclient$(EXEEXT) radmin$(EXEEXT) radconf2xml$(EXEEXT) radattr$(EXEEXT)
 
index 084ed21..f271171 100644 (file)
@@ -1,13 +1,8 @@
-TGT_PREREQS := libfreeradius-radius.a
-SRC_CFLAGS := -I${top_srcdir}/src/modules/rlm_mschap
-SRC_CFLAGS     += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
-SRC_CFLAGS     += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
-ifdef RADIUSD_VERSION_COMMIT
-CFLAGS         += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
-endif
-TGT_LDLIBS := $(LIBS)
+TARGET         := radclient
+SOURCES                := radclient.c ${top_srcdir}/src/modules/rlm_mschap/smbdes.c \
+${top_srcdir}/src/modules/rlm_mschap/mschap.c
 
-SOURCES        := radclient.c ${top_srcdir}/src/modules/rlm_mschap/smbdes.c \
-          ${top_srcdir}/src/modules/rlm_mschap/mschap.c
+TGT_PREREQS    := libfreeradius-radius.a
 
-TARGET := radclient
+SRC_CFLAGS     := -I${top_srcdir}/src/modules/rlm_mschap
+TGT_LDLIBS     := $(LIBS)
\ No newline at end of file
index 76899bf..c21e41e 100644 (file)
@@ -8,11 +8,6 @@ SOURCES        += cb.c tls.c tls_listen.c
 endif
 
 SRC_CFLAGS     := -DHOSTINFO=\"${HOSTINFO}\"
-SRC_CFLAGS     += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
-SRC_CFLAGS     += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
-ifdef RADIUSD_VERSION_COMMIT
-CFLAGS         += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
-endif
 TGT_INSTALLDIR  := ${sbindir}
 TGT_LDLIBS     := $(OPENSSL_LIBS)
 TGT_LDFLAGS     := $(LIBS) $(LCRYPT)
index aa5029c..2165e13 100644 (file)
@@ -1,15 +1,11 @@
-TGT_PREREQS := libfreeradius-radius.a
-SRC_CFLAGS     += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
-SRC_CFLAGS     += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
-ifdef RADIUSD_VERSION_COMMIT
-CFLAGS         += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
-endif
-TGT_LDLIBS := $(LIBS) $(LIBREADLINE)
-
-SOURCES        := radmin.c conffile.c log.c util.c
-
 ifneq ($(LIBREADLINE),)
-TARGET := radmin
+TARGET         := radmin
 else
-TARGET  :=
+TARGET                 :=
 endif
+
+SOURCES                := radmin.c conffile.c log.c util.c
+
+TGT_PREREQS    := libfreeradius-radius.a
+TGT_LDLIBS     := $(LIBS) $(LIBREADLINE)
+
index 5f04d71..339d973 100644 (file)
@@ -1,10 +1,11 @@
-TGT_PREREQS := libfreeradius-radius.a
-TGT_LDLIBS := $(LIBS) @PCAP_LIBS@
-
-SOURCES        := radsniff.c
-
 ifneq ($(PCAP_LIBS),)
-TARGET := radsniff
+TARGET         := radsniff
 else
-TARGET  :=
+TARGET         :=
 endif
+
+TGT_PREREQS    := libfreeradius-radius.a
+TGT_LDLIBS     := $(LIBS) @PCAP_LIBS@
+
+SOURCES                := radsniff.c
+