]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Split up libtool support into LWP and pthread
authorSimon Wilkinson <sxw@your-file-system.com>
Sun, 16 Sep 2012 14:39:25 +0000 (15:39 +0100)
committerDerrick Brashear <shadow@your-file-system.com>
Sun, 16 Sep 2012 20:34:57 +0000 (13:34 -0700)
Currently, the type of library you build is determined by whether
the library is build in a pthread, or an lwp build directory. However,
this prevents building an LWP library in a directory that builds
pthreaded clients and servers.

As we want to continue to provide LWP libraries for backwards
compatibility, but move over to pthreaded binaries, this causes
some issues.

So, split up the libtool logic, so we have Makefile.libtool, which
you include if you want to build a pthreaded libtool library, and
Makefile.lwptool, for building a library which supports LWP and
pthreaded use. These only affect how .lo files are built - so the
.o files used for non-library objects are managed with the
Makefile.pthread and Makefile.lwp includes as before.

Change-Id: Ib1af48342253230abab9056eb15a3f79bd77a6de
Reviewed-on: http://gerrit.openafs.org/8126
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
30 files changed:
Makefile.in
configure.ac
src/audit/Makefile.in
src/auth/Makefile.in
src/cmd/Makefile.in
src/comerr/Makefile.in
src/config/.gitignore
src/config/Makefile.config.in
src/config/Makefile.libtool.in
src/config/Makefile.lwp.in
src/config/Makefile.lwptool.in [new file with mode: 0644]
src/config/Makefile.pthread.in
src/fsint/Makefile.in
src/kauth/Makefile.in
src/libacl/Makefile.in
src/libafsauthent/Makefile.in
src/libafsrpc/Makefile.in
src/lwp/Makefile.in
src/opr/Makefile.in
src/ptserver/Makefile.in
src/rx/Makefile.in
src/rxkad/Makefile.in
src/rxstat/Makefile.in
src/sys/Makefile.in
src/tbutc/Makefile.in
src/ubik/Makefile.in
src/usd/Makefile.in
src/util/Makefile.in
src/vlserver/Makefile.in
src/volser/Makefile.in

index 6ccbb03dd94d3dd0263be3c9e002c368a9c2b8db..b8cfb8185293d7058ec166280469c284a3aace64 100644 (file)
@@ -815,6 +815,7 @@ distclean: clean
        src/config/Makefile.config \
        src/config/Makefile.libtool \
        src/config/Makefile.lwp \
+       src/config/Makefile.lwptool \
        src/config/Makefile.pthread \
        src/config/Makefile.shared \
        src/config/Makefile.version \
index 03143eee62cdbdac4bc8747c814220f5dc015142..627781585a0e0f1565c2f1d5a75b7f5dd2b737b1 100644 (file)
@@ -154,6 +154,7 @@ src/config/Makefile \
 src/config/Makefile.config \
 src/config/Makefile.libtool \
 src/config/Makefile.lwp \
+src/config/Makefile.lwptool \
 src/config/Makefile.pthread \
 src/config/Makefile.shared \
 src/config/Makefile.version-CML \
index 037b3d9be36eec25e2ddc1ae3aa5c0d69ed87a91..8ac4e0fc1badb63f1ab4ac0b1327663d1b5bd7d0 100644 (file)
@@ -14,8 +14,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 LT_objs=audit.lo audit-file.lo audit-sysvmq.lo
 LT_deps = $(top_builddir)/src/rxkad/liboafs_rxkad.la \
index 784664ba388077f699864fb7b00c34c0bcd47910..e6001c2035124c17b8f7577eaa21339ec025d642 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 BASE_objs= cellconfig.lo keys.lo userok.lo writeconfig.lo authcon.lo \
         acfg_errors.lo ktc_errors.lo netrestrict.lo token.xdr.lo token.lo \
index f0d2f4c043156467e0b4f095b67c19f890a19ff8..452aca9922e6a90489e502df7c7107f289353b7f 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.pthread
+include @TOP_OBJDIR@/src/config/Makefile.libtool
 
 LT_objs=cmd_errors.lo cmd.lo config_file.lo AFS_component_version_number.lo
 LT_deps=$(top_builddir)/src/comerr/liboafs_comerr.la
index d6ec21b0ac37fd986d0a0cf0c9b3b708a290919e..75bc1615e1f726d03f481e8fbfb651034a4fae39 100644 (file)
@@ -6,8 +6,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 LT_objs = error_msg.lo et_name.lo com_err.lo
 LT_deps = $(top_builddir)/src/opr/liboafs_opr.la
index 3d3de334def25dda695d9719d674b6ebb775f4e2..14b88ac1ac06137a7054d9ecd1e302ef1d183ccf 100644 (file)
@@ -7,6 +7,7 @@
 /Makefile.config
 /Makefile.libtool
 /Makefile.lwp
+/Makefile.lwptool
 /Makefile.shared
 /Makefile.pthread
 /Makefile.version
index ecd15e96193af951005ed78583040439cb719964..a8ba4842dec55185e2d347dbe1a9226899cfd4be 100644 (file)
@@ -232,6 +232,30 @@ SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
 LT_CCRULE=$(RUN_CC) $(LIBTOOL) --quiet --mode=compile --tag=CC \
              $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
 
+LT_current=0
+LT_revision=0
+LT_age=0
+
+# Basic rule to link a shared library.
+LT_LDLIB_shlib=$(LIBTOOL) --quiet --mode=link --tag=CC \
+               $(MT_CC) -rpath $(libdir) \
+               $(PTH_LDFLAGS) $(PTH_CFLAGS) $(LDFLAGS_$(@)) \
+               -o $@ \
+               -no-undefined \
+               -export-symbols $@.sym \
+               -version-info=$(LT_current):$(LT_revision):$(LT_age)
+
+
+# Link a static convenience library (contains no PIC code)
+LT_LDLIB_static=$(LIBTOOL) --quiet --mode=link --tag=CC \
+                $(MT_CC) -static $(LDFLAGS) $(DBG) $(OPTMZ) \
+                $(LDFLAGS_$(@)) -o $@
+
+# Link a convenience library for use in other libs (contains PIC code)
+LT_LDLIB_pic= $(LIBTOOL) --quiet --mode=link --tag=CC \
+              $(MT_CC) $(LDFLAGS) $(DBG) $(OPTMZ) \
+              $(LDFLAGS_$(@)) -o $@
+
 # Libtool - for objects that are built for both pthread and lwp libraries
 LTLWP_CCRULE=$(RUN_CC) $(LWPTOOL) --mode compile \
                 --lwpcc "$(CCOBJ)" \
@@ -247,7 +271,6 @@ LT_LDLIB_lwp=$(RUN_LD) $(LWPTOOL) --mode link \
                 -o $@ \
                 --
 
-
 # Use this to link an executable with one or more libtool libraries
 LT_LDRULE        = $(RUN_LD) $(LIBTOOL) --quiet --mode=link --tag=CC \
                             $(MT_CC) $(PTH_LDFLAGS) $(PTH_CFLAGS) \
@@ -260,7 +283,7 @@ LT_LDRULE_static = $(RUN_LD) $(LIBTOOL) --quiet --mode=link --tag=CC \
 LT_INSTALL_DATA=$(LIBTOOL) --quiet --mode=install $(INSTALL_DATA)
 LT_INSTALL_PROGRAM=$(LIBTOOL) --quiet --mode=install $(INSTALL_PROGRAM)
 
-LT_CLEAN=$(RM) -rf .libs *.la *.lo
+LT_CLEAN=$(RM) -rf .lwp .libs *.la *.lo
 
 # Default rules. These will be overriden if the module Makefile specifically
 # includes a particular type (lwp, pthread, or shared)
index 534809e9d548a93316c50d71d274a33bb24b8fe9..e0a732d754ad97aba9dc5ab6bc24c4bd2c15f252 100644 (file)
@@ -1,34 +1,12 @@
 # This Makefile fragment contains rules necessary to build libtool libraries,
 # the Makefile rules necessary to use them are all in Makefile.config
 
-LT_current=0
-LT_revision=0
-LT_age=0
-
-# Basic rule to link a shared library.
-LT_LDLIB_shlib=$(LIBTOOL) --quiet --mode=link --tag=CC \
-               $(MT_CC) -rpath $(libdir) \
-               $(PTH_LDFLAGS) $(PTH_CFLAGS) $(LDFLAGS_$(@)) \
-               -o $@ \
-               -no-undefined \
-               -export-symbols $@.sym \
-               -version-info=$(LT_current):$(LT_revision):$(LT_age)
-
-
-# Link a static convenience library (contains no PIC code)
-LT_LDLIB_static=$(LIBTOOL) --quiet --mode=link --tag=CC \
-                $(MT_CC) -static $(LDFLAGS) $(DBG) $(OPTMZ) \
-                $(LDFLAGS_$(@)) -o $@
-
-# Link a convenience library for use in other libs (contains PIC code)
-LT_LDLIB_pic= $(LIBTOOL) --quiet --mode=link --tag=CC \
-              $(MT_CC) $(LDFLAGS) $(DBG) $(OPTMZ) \
-              $(LDFLAGS_$(@)) -o $@
-
-LT_CLEAN=$(RM) -rf .libs *.la *.lo
-
 .SUFFIXES: .lo
 
+.c.lo:
+       $(LT_CCRULE) $<
+%.lo: %.c
+       $(LT_CCRULE) $<
 .m.lo:
        $(LT_CCRULE) $<
 
index 0d536d65160f59c9fc89784baa7c3617a92af457..00259680652e5307ea2a4c2587786f40a736dab9 100644 (file)
@@ -3,10 +3,6 @@ AFS_LDFLAGS = $(LWP_LDFLAGS)
 AFS_CCRULE     =$(LWP_CCRULE)
 AFS_CCRULE_NOQ =$(LWP_CCRULE_NOQ)
 
-.c.lo:
-       $(LTLWP_CCRULE) $<
-%.lo: %.c
-       $(LTLWP_CCRULE) $<
 .c.o:
        $(AFS_CCRULE) $<
 %.o: %.c
diff --git a/src/config/Makefile.lwptool.in b/src/config/Makefile.lwptool.in
new file mode 100644 (file)
index 0000000..4cdb417
--- /dev/null
@@ -0,0 +1,10 @@
+# This Makefile fragment contains rules for building libraries that are
+# an lwp/libtool mixture
+
+.SUFFIXES: .lo
+
+.c.lo:
+       $(LTLWP_CCRULE) $<
+%.lo: %.c
+       $(LTLWP_CCRULE) $<
+
index 471b0d436362c48c38d72a8d3e512000241cb52b..f4af720d7a8088c55a2c4c5e501f96162e5a1cd6 100644 (file)
@@ -10,9 +10,5 @@ AFS_LDRULE_NOQ=$(RUN_LD_NOQ) $(MT_CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@
        $(AFS_CCRULE) $<
 %.o: %.c
        $(AFS_CCRULE) $<
-.c.lo:
-       $(LT_CCRULE) $<
-%.lo: %.c
-       $(LT_CCRULE) $<
 .m.o:
        $(AFS_CCRULE) $<
index f0e3127911c57ff1bf296f315a89e7056c546b4b..925e50e4b90b8474892ce69b6a8cd77715601742 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 LT_objs = \
        afsaux.lo \
index 37ce7edb48f6f44968227bb20982242102491d02..f57ef52d76ce3d55235ea370540e4ccf9162ba7a 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 BASE_objs = kauth.xdr.lo kauth.cs.lo kaaux.lo client.lo authclient.lo \
            katoken.lo kautils.lo kalocalcell.lo kaerrors.lo
index 62e14066e1e01271476b18fac533dc3220155c8b..a8a795e05714c45b54f352c0ce3156819a10d90d 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 LT_objs = aclprocs.lo netprocs.lo AFS_component_version_number.lo
 LT_deps = $(top_builddir)/src/ptserver/liboafs_prot.la
index 51ecccc6e7b56b241492f58ba6c5ebee5459ac3c..4033a8084cb5b743a4347611c51a7a6c9fbfcd7b 100644 (file)
@@ -10,7 +10,6 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 include @TOP_OBJDIR@/src/config/Makefile.libtool
-include @TOP_OBJDIR@/src/config/Makefile.pthread
 
 LT_objs = \
        $(top_builddir)/src/audit/libauthent_audit.la \
index 54e3e6aa86cd0c3c2e46c53afe811886fa3693bd..97f1cc573684d6c85561464318024ce4f13b772b 100644 (file)
@@ -8,7 +8,6 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 include @TOP_OBJDIR@/src/config/Makefile.libtool
-include @TOP_OBJDIR@/src/config/Makefile.pthread
 
 LT_objs = \
        $(top_builddir)/src/fsint/libafsrpc_fsint.la \
index cf061a44345d32ffb798012521e6fc431c94123a..9ea5f7719899ba1d47f1befede878318f27284ea 100644 (file)
@@ -9,8 +9,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 DBG=${LWP_DBG}
 OPTMZ=${LWP_OPTMZ}
index 48430a6e9d8b546e90ff9a3e2665f958211b197a..6414697f5c54153b28177248ffeb3f7e68acc818 100644 (file)
@@ -1,7 +1,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.pthread
+include @TOP_OBJDIR@/src/config/Makefile.libtool
 
 LT_objs = assert.lo casestrcpy.lo rbtree.lo uuid.lo
 LT_libs = $(LIB_hcrypto) $(LIB_roken)
index 7f8b811ed27bc6a6d709d450124fd21c900ad5c1..aa0c3a49633b7887c8b02d5a6642333c06a1ff31 100644 (file)
@@ -6,8 +6,8 @@
 # directory or online at http://www.openafs.org/dl/license10.html
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 ENABLE_PTHREADED_UBIK=@ENABLE_PTHREADED_UBIK@
 
index 0af5f5ae95d57ce3318c8ffe6c6ab5fc7174d744..b5cfe3b5258722db3b0c902078d72a6281832ff9 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 MODULE_CFLAGS=$(RXDEBUG)
 
index 6351131b26c8327e77c1c192f0ac3f458cf87e41..31ba16e9f4e783c05500cb5feaa4c305c6f79227 100644 (file)
@@ -9,8 +9,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 INCLS=${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \
        ${TOP_INCDIR}/rx/fcrypt.h \
index 9fb4a0db66d2a1ddb441e56e272f05ac6c184ff3..a84e7ce5b1138c2e90f9093f35bb35db1684d38b 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 LT_objs = rxstat.cs.lo rxstat.ss.lo rxstat.xdr.lo rxstat.lo
 LT_deps = $(top_builddir)/src/rx/liboafs_rx.la
index a3e3e8d035d47299cca45248e1013539381ebb4a..fcad0cad089db3ee7f88f8d2019355f9cdede0f2 100644 (file)
@@ -9,8 +9,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 SFLAGS=-I${TOP_INCDIR}
 LIBS=libsys.a \
index e0886f8df226a37b5ca86a4770aaad5b80fe7825..a96b05c4217e3e81440dba35742d349e46a5d8e4 100644 (file)
@@ -7,7 +7,6 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.pthread
 
 
index 76b6a4b274e1724e11b68b90740847888ab8a8ec..60b37bf73fab29e9c9c9ad7bb45083ed50523c5e 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 LT_authent_objs = uinit.lo ubikclient.lo uerrors.lo ubik_int.cs.lo \
                  ubik_int.xdr.lo
index c4249bbdf6538a35fc5ebaaa572a3cb1daa617d1..ff5f9f635ab402a75433de8ada4ecca674d2583f 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.pthread
+include @TOP_OBJDIR@/src/config/Makefile.libtool
 
 LT_objs = usd_file.lo AFS_component_version_number.lo
 LT_deps = $(top_builddir)/src/opr/liboafs_opr.la
index f669840468dad8f653c7da1a21c9d5a83427f495..021e2ddecfdaf200bb9ff77d3484bedb2d79d75a 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 HELPER_SPLINT=@HELPER_SPLINT@
 
index 54980dcc34a79022c76e969c8635d8852f6ff42b..d2ac689395914574437e4e7009680239ad317176 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 ENABLE_PTHREADED_UBIK = @ENABLE_PTHREADED_UBIK@
 
index 1c4334b52f9843591329060be7e927111f86f71f..87f4dd49802d715c5ed227247d799d9c6059a39d 100644 (file)
@@ -7,8 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
-include @TOP_OBJDIR@/src/config/Makefile.libtool
 include @TOP_OBJDIR@/src/config/Makefile.lwp
+include @TOP_OBJDIR@/src/config/Makefile.lwptool
 
 HELPER_SPLINT=@HELPER_SPLINT@