]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Allow building with MIT krb5 and external roken
authorBenjamin Kaduk <kaduk@mit.edu>
Mon, 22 Sep 2014 21:02:27 +0000 (17:02 -0400)
committerD Brashear <shadow@your-file-system.com>
Wed, 8 Oct 2014 14:52:14 +0000 (10:52 -0400)
That is, an external roken which is part of a heimdal distribution,
with full headers and libraries, most notably krb5.h and libkrb5.

This adjusts the ordering of file- and module-specific compiler and
linker arguments so that the more specific arguments are able to
take precedence.  For general flags arguments, such as enabling
or disabling warnings or features, the more-specific settings should
come last, so as to override the flags set by default.  However,
for arguments that affect a global search list (e.g., for headers
or libraries),  the more-specific arguments must come first, so
as to be at the beginning of the search list.

We presently use per-file CFLAGS for both warning-type flags and
preprocessor (i.e., include path) type flags, so add an additional
file-specific setting for CPPFLAGS, which comes at the beginning of
the compiler invocation.

At present, MODULE_CFLAGS are essentially only used for preprocessor
functionality, so treat them as CPPFLAGS and put them right after
the per-file CPPFLAGS.  (It might be cleaner to rename them to
MODULE_CPPFLAGS, but that would be more churn than is needed.  If
such a distinction turns out to be necessary, it can be done at a
later date.)  Likewise the MODULE_LDFLAGS are generally being used
to affect the library search path, so put them early as well.

Make the necessary Makefile changes to use these new features to
allow building with MIT krb5 and external roken: put KRB5_CPPFLAGS
in per-file CPPFLAGS, and put LDFLAGS_KRB5 in MODULE_LDFLAGS for
aklog.

Change-Id: I1091223b3b75c782b39b9e189bdd47e52ebefae2
Reviewed-on: http://gerrit.openafs.org/11474
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: D Brashear <shadow@your-file-system.com>
Tested-by: D Brashear <shadow@your-file-system.com>
src/aklog/Makefile.in
src/config/Makefile.config.in
src/libafscp/Makefile.in
src/tsm41/Makefile.in
src/venus/Makefile.in

index e3769c589c75256adb28627cc1331de7e3fec2d7..725738dfed343ecb32b2fe6435c26d37c298bf6f 100644 (file)
@@ -8,6 +8,7 @@ include @TOP_OBJDIR@/src/config/Makefile.pthread
 
 
 MODULE_CFLAGS=@KRB5_CPPFLAGS@ -DALLOW_REGISTER
+MODULE_LDFLAGS=@KRB5_LDFLAGS@
 
 AKLIBS= ${LIBS} $(LDFLAGS_krb5) $(LIB_krb5) @AKLOG_KRB5_LIBS@
 AFSLIBS= ${TOP_LIBDIR}/libafshcrypto.a \
index 7b34846995f9ae7686839b1fbde1166a36510457..b9ca6f13dbe701c1bd8fd63ebf8827bb5a05830d 100644 (file)
@@ -221,26 +221,26 @@ COMMON_CFLAGS=$(CFLAGS) ${DBG} ${OPTMZ} $(XCFLAGS) \
 COMMON_LDFLAGS=$(LDFLAGS) $(LDFLAGS_hcrypto) $(LDFLAGS_roken) $(DBG) $(OPTMZ)
 
 # LWP Flags
-LWP_CFLAGS=$(COMMON_CFLAGS) $(MODULE_CFLAGS)
-LWP_LDFLAGS=$(COMMON_LDFLAGS) $(MODULE_LDFLAGS) $(XLDFLAGS) $(ARCHFLAGS)
-LWP_CCRULE        =$(RUN_CC) $(CCOBJ) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
-LWP_CCRULE_NOQ=$(RUN_CC_NOQ) $(CCOBJ) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+LWP_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS)
+LWP_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(XLDFLAGS) $(ARCHFLAGS)
+LWP_CCRULE        =$(RUN_CC) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+LWP_CCRULE_NOQ=$(RUN_CC_NOQ) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
 
 # Pthreaded
-PTH_CFLAGS=$(COMMON_CFLAGS) $(MODULE_CFLAGS) $(MT_CFLAGS)
-PTH_LDFLAGS=$(COMMON_LDFLAGS) $(MODULE_LDFLAGS) $(MT_LDFLAGS)
-PTH_CCRULE        =$(RUN_CC) $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
-PTH_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+PTH_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) $(MT_CFLAGS)
+PTH_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(MT_LDFLAGS)
+PTH_CCRULE        =$(RUN_CC) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+PTH_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
 
 # Shared
-SHD_CFLAGS=$(COMMON_CFLAGS) $(MODULE_CFLAGS) $(MT_CFLAGS) $(SHLIB_CFLAGS)
-SHD_LDFLAGS=$(COMMON_LDFLAGS) $(MODULE_LDFLAGS) $(SHLIB_LDFLAGS)
-SHD_CCRULE        =$(RUN_CC) $(MT_CC) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
-SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+SHD_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) $(MT_CFLAGS) $(SHLIB_CFLAGS)
+SHD_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(SHLIB_LDFLAGS)
+SHD_CCRULE        =$(RUN_CC) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
 
 # Libtool - for objects that are part of pthread-only libraries
 LT_CCRULE=$(RUN_CC) $(LIBTOOL) --quiet --mode=compile --tag=CC \
-             $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+             $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
 
 LT_current=0
 LT_revision=0
@@ -272,7 +272,7 @@ LTLWP_CCRULE=$(RUN_CC) $(LWPTOOL) --mode compile \
                 --mtcc "$(LIBTOOL) --quiet --mode=compile --tag=CC $(MT_CC) $(MT_CFLAGS)" \
                 -o $@ \
                 -- \
-                $(COMMON_CFLAGS) $(MODULE_CFLAGS) $(CFLAGS_$(@)) \
+                $(CPPFLAGS_$(@)) $(MODULE_CFLAGS) $(COMMON_CFLAGS) $(CFLAGS_$(@)) \
                 -c
 
 LT_LDLIB_lwp=$(RUN_LD) $(LWPTOOL) --mode link \
index 071dd633ad9cc3a686649b366a0bfae4d083c17b..799372cdddf50f96bd9508a0cd9164c9b933fc1a 100644 (file)
@@ -4,7 +4,7 @@ include @TOP_OBJDIR@/src/config/Makefile.pthread
 
 #for debugging:
 #CFLAGS += -DAFSCP_DEBUG
-KRB5CFLAGS = @KRB5_CPPFLAGS@
+KRB5CPPFLAGS = @KRB5_CPPFLAGS@
 
 LIBOBJS = \
        afscp_callback.o \
@@ -39,8 +39,8 @@ depinstall: \
 ${TOP_INCDIR}/afs/afscp.h: afscp.h
        ${INSTALL_DATA} $? $@
 
-CFLAGS_afscp_util.o = $(KRB5CFLAGS)
-CFLAGS_afscp_server.o = $(KRB5CFLAGS)
+CPPFLAGS_afscp_util.o = $(KRB5CPPFLAGS)
+CPPFLAGS_afscp_server.o = $(KRB5CPPFLAGS)
 
 #
 # Install targets
index bbe9dcf27c1f0ceff049f31819a697490de4ea41..7984db382bed5dd45c17e45e0c92757fd532bade 100644 (file)
@@ -89,7 +89,7 @@ afs_dynamic_kerbauth: ${AUTH_KRB_OBJS} ${KAFSLIBS} ${AUTHFILES}
 
 aix_auth_common.o: ${srcdir}/aix_auth_common.c
 
-CFLAGS_aix_aklog.o = @KRB5_CPPFLAGS@
+CPPFLAGS_aix_aklog.o = @KRB5_CPPFLAGS@
 aix_aklog.o: ${srcdir}/aix_aklog.c
 
 CFLAGS_aix_ktc_krb.o = -DAFS_KERBEROS_ENV
index 71d47462dea4bf66136a693baac3fc4c6be25e34..b5bad6b54b0a90d404ea94f465095e0a21cd079c 100644 (file)
@@ -9,8 +9,6 @@ srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 include @TOP_OBJDIR@/src/config/Makefile.lwp
 
-KRB5CFLAGS = @KRB5_CPPFLAGS@
-
 INCLS=${TOP_INCDIR}/afs/afsint.h \
        ${TOP_INCDIR}/afs/cmd.h \
        ${TOP_INCDIR}/afs/afsutil.h