--- configs/freebsd-g++-shared.orig Thu Oct 1 23:12:11 1998 +++ configs/freebsd-g++-shared Mon Nov 23 18:05:47 1998 @@ -38,8 +38,26 @@ # - Usually needs to incorporate $(VER_MAJ) and $(VER_MIN) # SYSCONF_LINK_SHLIB = ld -SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).so.$(VER_MAJ).$(VER_MIN) -SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) -Bshareable $(LFLAGS) -o $(DESTDIR)$(SYSCONF_LINK_TARGET_SHARED) `lorder /usr/lib/c++rt0.o $(OBJECTS) $(OBJMOC) | tsort` $(LIBS) +ifeq ($(PORTOBJFORMAT),elf) +SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).so.$(VER_MAJ) +SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) -shared -soname \ + $(SYSCONF_LINK_TARGET_SHARED) $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED)\ + `lorder $(OBJECTS) $(OBJMOC) | tsort` $(LIBS); \ + mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \ + cd $(DESTDIR); \ + rm -f lib$(TARGET).so; \ + ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so; +else +SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).so.$(VER_MAJ).$(VER_MIN) +SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) -Bshareable \ + $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \ + `lorder /usr/lib/c++rt0.o $(OBJECTS) $(OBJMOC) | tsort` $(LIBS); \ + mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \ + cd $(DESTDIR); \ + rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ); \ + ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so; \ + ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ) +endif # Linking static libraries # - Build the $(TARGET) library, eg. lib$(TARGET).a @@ -51,11 +69,11 @@ $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC) \ ranlib $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) # Compiling application source -SYSCONF_CFLAGS = -O2 -fno-strength-reduce +SYSCONF_CFLAGS = -pipe -O2 -fno-strength-reduce # Compiling library source -SYSCONF_CFLAGS_LIB = -O2 -fno-strength-reduce -fPIC +SYSCONF_CFLAGS_LIB = -pipe -O2 -fno-strength-reduce -fPIC # Compiling shared-object source -SYSCONF_CFLAGS_SHOBJ = -O2 -fno-strength-reduce -fPIC +SYSCONF_CFLAGS_SHOBJ = -pipe -O2 -fno-strength-reduce -fPIC # Default link type (stati linking is still be used where required) SYSCONF_LINK_LIB = $(SYSCONF_LINK_LIB_SHARED) SYSCONF_LINK_TARGET = $(SYSCONF_LINK_TARGET_SHARED)