[csw-devel] SF.net SVN: gar:[9464] csw/mgar/pkg/neon/trunk/Makefile

dmichelsen at users.sourceforge.net dmichelsen at users.sourceforge.net
Tue Mar 30 14:33:39 CEST 2010


Revision: 9464
          http://gar.svn.sourceforge.net/gar/?rev=9464&view=rev
Author:   dmichelsen
Date:     2010-03-30 12:33:39 +0000 (Tue, 30 Mar 2010)

Log Message:
-----------
neon: Move from alternatives to AUXILIARY in the linker

Modified Paths:
--------------
    csw/mgar/pkg/neon/trunk/Makefile

Modified: csw/mgar/pkg/neon/trunk/Makefile
===================================================================
--- csw/mgar/pkg/neon/trunk/Makefile	2010-03-30 12:29:38 UTC (rev 9463)
+++ csw/mgar/pkg/neon/trunk/Makefile	2010-03-30 12:33:39 UTC (rev 9464)
@@ -92,22 +92,62 @@
 PKGFILES_CSWneon-devel = $(PKGFILES_DEVEL)
 PKGFILES_CSWneon-devel += $(docdir)/.*
 
-ALTERNATIVES_CSWneon = minimal
-ALTERNATIVES_CSWneonfull = full
 
-ALTERNATIVE_minimal  = $(libdir)/libneon.so.27.2.3 neon $(libdir)/libneon-minimal.so.27.2.3 100
-ALTERNATIVE_minimal += $(libdir)/$(ISA_DEFAULT64)/libneon.so.27.2.3 neon64 $(libdir)/$(ISA_DEFAULT64)/libneon-minimal.so.27.2.3
-ALTERNATIVE_minimal += $(libdir)/libneon.so.26.0.4 neon.26 $(libdir)/libneon-minimal.so.26.0.4
-ALTERNATIVE_minimal += $(libdir)/$(ISA_DEFAULT64)/libneon.so.26.0.4 neon64.26 $(libdir)/$(ISA_DEFAULT64)/libneon-minimal.so.26.0.4
+# ALTERNATIVES_CSWneon = minimal
+# ALTERNATIVES_CSWneonfull = full
 
-ALTERNATIVE_full     = $(libdir)/libneon.so.27.2.3 neon $(libdir)/libneon-full.so.27.2.3 200
-ALTERNATIVE_full    += $(libdir)/$(ISA_DEFAULT64)/libneon.so.27.2.3 neon64 $(libdir)/$(ISA_DEFAULT64)/libneon-full.so.27.2.3
-ALTERNATIVE_full    += $(libdir)/libneon.so.26.0.4 neon.26 $(libdir)/libneon-full.so.26.0.4
-ALTERNATIVE_full    += $(libdir)/$(ISA_DEFAULT64)/libneon.so.26.0.4 neon64.26 $(libdir)/$(ISA_DEFAULT64)/libneon-full.so.26.0.4
+# ALTERNATIVE_minimal  = $(libdir)/libneon.so.27.2.3 neon $(libdir)/libneon-minimal.so.27.2.3 100
+# ALTERNATIVE_minimal += $(libdir)/$(ISA_DEFAULT64)/libneon.so.27.2.3 neon64 $(libdir)/$(ISA_DEFAULT64)/libneon-minimal.so.27.2.3
+# ALTERNATIVE_minimal += $(libdir)/libneon.so.26.0.4 neon.26 $(libdir)/libneon-minimal.so.26.0.4
+# ALTERNATIVE_minimal += $(libdir)/$(ISA_DEFAULT64)/libneon.so.26.0.4 neon64.26 $(libdir)/$(ISA_DEFAULT64)/libneon-minimal.so.26.0.4
 
+# ALTERNATIVE_full     = $(libdir)/libneon.so.27.2.3 neon $(libdir)/libneon-full.so.27.2.3 200
+# ALTERNATIVE_full    += $(libdir)/$(ISA_DEFAULT64)/libneon.so.27.2.3 neon64 $(libdir)/$(ISA_DEFAULT64)/libneon-full.so.27.2.3
+# ALTERNATIVE_full    += $(libdir)/libneon.so.26.0.4 neon.26 $(libdir)/libneon-full.so.26.0.4
+# ALTERNATIVE_full    += $(libdir)/$(ISA_DEFAULT64)/libneon.so.26.0.4 neon64.26 $(libdir)/$(ISA_DEFAULT64)/libneon-full.so.26.0.4
+
+FEATURE_LIBRARIES  = libneon.26 libneon64.26
+FEATURE_LIBRARIES += libneon.27 libneon64.27
+FEATURES_libneon.26  = $(libdir)/libneon.so.26.0.4
+FEATURES_libneon.26 += libneon-minimal.so.26.0.4
+FEATURES_libneon.26 += libneon-full.so.26.0.4
+FEATURES_libneon64.26  = $(libdir)/$(ISA_DEFAULT64)/libneon.so.26.0.4
+FEATURES_libneon64.26 += libneon-minimal.so.26.0.4
+FEATURES_libneon64.26 += libneon-full.so.26.0.4
+FEATURES_libneon.27  = $(libdir)/libneon.so.27.2.3
+FEATURES_libneon.27 += libneon-minimal.so.27.2.3
+FEATURES_libneon.27 += libneon-full.so.27.2.3
+FEATURES_libneon64.27  = $(libdir)/$(ISA_DEFAULT64)/libneon.so.27.2.3
+FEATURES_libneon64.27 += libneon-minimal.so.27.2.3
+FEATURES_libneon64.27 += libneon-full.so.27.2.3
+
 include gar/category.mk
 
 #post-install-modulated:
 #	rm -f $(DESTDIR)$(libdir)/libneon.so
 #	gln -s libneon.so.27 $(DESTDIR)$(libdir)/libneon.so
 #	@$(MAKECOOKIE)
+
+# cc -G -c empty.c
+# ld -G -h libneon-minimal.so.26 -o stub-libneon.so.26 empty.o
+# ld -R /opt/csw/lib -G -h libneon.so.26 -o libneon.so.26 -f libneon-full.so.26 -f libneon-max.so.26 stub-libneon.so.26
+
+# 32/64 bit detection is done by looking at the last directory component and
+# guessing by ISA if it is 32 or 64 bit
+
+post-merge: _LDFLAGS-32=
+post-merge: _LDFLAGS-64=-64
+post-merge:
+post-merge:
+	cd $(WORKDIR); touch empty.c; $(CC) -G -c empty.c
+	cd $(WORKDIR); touch empty64.c; $(CC) -m64 -G -c empty64.c
+	$(foreach L,$(FEATURE_LIBRARIES),\
+		ld $(_LDFLAGS-$(MEMORYMODEL_$(lastword $(subst /, ,$(dir $(firstword $(FEATURES_$L))))))) \
+			-G -h $(word 2,$(FEATURES_$L)) -o $(WORKDIR)/stub-$(notdir $(firstword $(FEATURES_$L))) $(WORKDIR)/empty$(MEMORYMODEL_$(lastword $(subst /, ,$(dir $(firstword $(FEATURES_$L)))))).o;\
+		ld $(_LDFLAGS-$(MEMORYMODEL_$(lastword $(subst /, ,$(dir $(firstword $(FEATURES_$L))))))) \
+			-G -h `/usr/ccs/bin/dump -Lv $(dir $(firstword $(FEATURES_$L)))/$(word 2,$(FEATURES_$L)) | awk '$$2 == "SONAME" { print $$3 }'` \
+			-o $(PKGROOT)$(firstword $(FEATURES_$L)) \
+			$(foreach F,$(wordlist 3,$(words $(FEATURES_$L)),$(FEATURES_$L)),-f $F) \
+			$(WORKDIR)/stub-$(notdir $(firstword $(FEATURES_$L))); \
+	)
+	@$(MAKECOOKIE)


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


More information about the devel mailing list