bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Patches to framework.make, target.make for FreeBSD


From: Kim Shrier
Subject: Patches to framework.make, target.make for FreeBSD
Date: Thu, 10 May 2001 12:52:29 -0500

While compiling gsweb on FreeBSD, I ran into the same kind of problem
I had when building core.  The following patches fix the makefiles to
work properly on FreeBSD elf.

The first one modifies make/target.make to fix the definition of
SHARED_FRAMEWORK_LINK_CMD.  This fix is similar to the earlier
patch I sent in for the shared library link macros.

The second patch modifies make/framework.make so that it will correctly
handle the symbolic links to the libxxx.so.n files where n is a single
level version number.

Let me know if you have any questions.

Kim
-- 
 Kim Shrier - principal, Shrier and Deihl - mailto:kim@tinker.com
Remote Unix Network Admin, Security, Internet Software Development
  Tinker Internet Services - Superior FreeBSD-based Web Hosting
                     http://www.tinker.com/
--- core/make/target.make.orig  Sat May  5 21:31:29 2001
+++ core/make/target.make       Thu May 10 12:34:25 2001
@@ -561,14 +561,15 @@
          $(LN_S) $(VERSION_LIBRARY_FILE) $(SONAME_LIBRARY_FILE); \
          $(LN_S) $(SONAME_LIBRARY_FILE) $(LIBRARY_FILE))
 SHARED_FRAMEWORK_LINK_CMD = \
-       $(CC) -shared -Wl,-soname,$(VERSION_FRAMEWORK_LIBRARY_FILE) \
+       $(CC) -shared -Wl,-soname,$(SONAME_FRAMEWORK_FILE) \
           -o $(FRAMEWORK_LIBRARY_DIR_NAME)/$(VERSION_FRAMEWORK_LIBRARY_FILE) \
        $^ $(ALL_FRAMEWORK_DIRS) \
           $(LIBRARIES_DEPEND_UPON) \
           $(SHARED_LD_POSTFLAGS);\
        (cd $(FRAMEWORK_LIBRARY_DIR_NAME); \
-         rm -f $(FRAMEWORK_LIBRARY_FILE); \
-         $(LN_S) $(VERSION_FRAMEWORK_LIBRARY_FILE) $(FRAMEWORK_LIBRARY_FILE))
+         rm -f $(FRAMEWORK_LIBRARY_FILE) $(SONAME_FRAMEWORK_FILE); \
+         $(LN_S) $(VERSION_FRAMEWORK_LIBRARY_FILE) $(SONAME_FRAMEWORK_FILE); \
+         $(LN_S) $(SONAME_FRAMEWORK_FILE) $(FRAMEWORK_LIBRARY_FILE))
 AFTER_INSTALL_SHARED_LIB_COMMAND = \
        (cd $(LIBRARY_INSTALL_DIR); \
          rm -f $(LIBRARY_FILE) $(SONAME_LIBRARY_FILE); \
--- core/make/framework.make.orig       Sat Apr 21 16:23:37 2001
+++ core/make/framework.make    Thu May 10 12:33:53 2001
@@ -102,7 +102,7 @@
 FRAMEWORK_LIBRARY_FILE = lib$(INTERNAL_framework_NAME)$(SHARED_LIBEXT)
 FRAMEWORK_LIBRARY_FILE_EXT     = $(SHARED_LIBEXT)
 VERSION_FRAMEWORK_LIBRARY_FILE = $(FRAMEWORK_LIBRARY_FILE).$(VERSION)
-SOVERSION            = `echo $(VERSION)|awk -F. '{print $$1}'`
+SOVERSION            = $(word 1,$(subst ., ,$(VERSION)))
 SONAME_FRAMEWORK_FILE  = $(FRAMEWORK_LIBRARY_FILE).$(SOVERSION)
 
 FRAMEWORK_FILE := 
$(FRAMEWORK_LIBRARY_DIR_NAME)/$(VERSION_FRAMEWORK_LIBRARY_FILE)
@@ -430,10 +430,16 @@
        if test -f "$(FRAMEWORK_LIBRARY_FILE)"; then \
          rm -f $(FRAMEWORK_LIBRARY_FILE); \
        fi; \
+       if test -f "$(SONAME_FRAMEWORK_FILE)"; then \
+         rm -f $(SONAME_FRAMEWORK_FILE); \
+       fi; \
        if test -f "$(VERSION_FRAMEWORK_LIBRARY_FILE)"; then \
          rm -f $(VERSION_FRAMEWORK_LIBRARY_FILE); \
        fi; \
        $(LN_S) 
$(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_CURRENT_LIBRARY_DIR_NAME)/$(FRAMEWORK_LIBRARY_FILE)
 $(FRAMEWORK_LIBRARY_FILE); \
+       if test -f 
"$(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_CURRENT_LIBRARY_DIR_NAME)/$(SONAME_FRAMEWORK_FILE)";
 then \
+         $(LN_S) 
$(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_CURRENT_LIBRARY_DIR_NAME)/$(SONAME_FRAMEWORK_FILE)
 $(SONAME_FRAMEWORK_FILE); \
+       fi; \
        $(LN_S) 
$(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_CURRENT_LIBRARY_DIR_NAME)/$(VERSION_FRAMEWORK_LIBRARY_FILE)
 $(VERSION_FRAMEWORK_LIBRARY_FILE);)
 
 $(FRAMEWORK_DIR_NAME)/Resources $(FRAMEWORK_INSTALL_DIR)::

reply via email to

[Prev in Thread] Current Thread [Next in Thread]