]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Mac OS X framework build files, contributed by Matt Veenstra
authorDaniel Stenberg <daniel@haxx.se>
Thu, 6 Nov 2003 07:42:02 +0000 (07:42 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 6 Nov 2003 07:42:02 +0000 (07:42 +0000)
lib/Makefile.am
lib/libcurl.framework.make [new file with mode: 0644]
lib/libcurl.plist [new file with mode: 0644]

index 129c6d4f26169a5cb9c0df416797c7c4a26e7ee6..add58a18ae2a476d1aaef6572d43bc9ac9871b33 100644 (file)
@@ -8,7 +8,8 @@ EXTRA_DIST = getdate.y Makefile.b32 Makefile.b32.resp Makefile.m32          \
        Makefile.vc6 Makefile.riscos libcurl.def curllib.dsp                \
        curllib.dsw config-vms.h config-win32.h config-riscos.h config-mac.h \
        config.h.in ca-bundle.crt README.encoding README.memoryleak         \
-       README.ares makefile.dj config.dj
+       README.ares makefile.dj config.dj                                   \
+       libcurl.framework.make libcurl.plist
 
 lib_LTLIBRARIES = libcurl.la
 
diff --git a/lib/libcurl.framework.make b/lib/libcurl.framework.make
new file mode 100644 (file)
index 0000000..27bcb6f
--- /dev/null
@@ -0,0 +1,104 @@
+#
+# libcurl.framework.make is the make file.  There are comments about unique
+# Mac OS X things if you want to read.  It can be built by calling:
+# "make build -e -f libcurl.framework.make"
+#
+# The libcurl.plist is a basically the resource bit of the framework on Mac OS
+# X.  It is a simple XML file so you can open this to see what it is.
+# Version, name, etc.
+#
+
+TMP_DIR = ../lib/.lib
+LIB_DIR = ../lib
+
+# for debug symbols add the -g option
+C_OPTIONS = \
+       -fno-common \
+       -O2 \
+       -DHAVE_CONFIG_H \
+       -DPIC \
+       -I../lib \
+       -I../include \
+       -Wall
+
+# The 2 -framework tags are the needed Mac OS X sytem libs
+LIBRARIES = -framework CoreFoundation -framework CoreServices -lssl -lcrypto -lz 
+
+# These libtool options are needed for a framework.
+# @executable_path tells the application that links to this library where to find it.
+# On Mac OS X we usually put frameworks iniside the application bundle in a frameworks folder.
+LINK_OPTIONS = -prebind -dynamiclib -install_name @executable_path/../frameworks/libcurl.framework/libcurl
+
+OBJECTS = $(TMP_DIR)/base64.o \
+       $(TMP_DIR)/connect.o \
+       $(TMP_DIR)/content_encoding.o \
+       $(TMP_DIR)/cookie.o \
+       $(TMP_DIR)/dict.o \
+       $(TMP_DIR)/easy.o \
+       $(TMP_DIR)/escape.o \
+       $(TMP_DIR)/file.o \
+       $(TMP_DIR)/formdata.o \
+       $(TMP_DIR)/ftp.o \
+       $(TMP_DIR)/getdate.o \
+       $(TMP_DIR)/getenv.o \
+       $(TMP_DIR)/getinfo.o \
+       $(TMP_DIR)/hash.o \
+       $(TMP_DIR)/hostip.o \
+       $(TMP_DIR)/http.o \
+       $(TMP_DIR)/http_chunks.o \
+       $(TMP_DIR)/http_digest.o \
+       $(TMP_DIR)/http_negotiate.o \
+       $(TMP_DIR)/http_ntlm.o \
+       $(TMP_DIR)/if2ip.o \
+       $(TMP_DIR)/inet_pton.o \
+       $(TMP_DIR)/krb4.o \
+       $(TMP_DIR)/ldap.o \
+       $(TMP_DIR)/llist.o \
+       $(TMP_DIR)/md5.o \
+       $(TMP_DIR)/memdebug.o \
+       $(TMP_DIR)/mprintf.o \
+       $(TMP_DIR)/multi.o \
+       $(TMP_DIR)/netrc.o \
+       $(TMP_DIR)/progress.o \
+       $(TMP_DIR)/security.o \
+       $(TMP_DIR)/sendf.o \
+       $(TMP_DIR)/share.o \
+       $(TMP_DIR)/speedcheck.o \
+       $(TMP_DIR)/ssluse.o \
+       $(TMP_DIR)/strequal.o \
+       $(TMP_DIR)/strtok.o \
+       $(TMP_DIR)/telnet.o \
+       $(TMP_DIR)/timeval.o \
+       $(TMP_DIR)/transfer.o \
+       $(TMP_DIR)/url.o \
+       $(TMP_DIR)/version.o 
+
+build: $(TMP_DIR) $(LIB_DIR) $(LIB_DIR)/libcurl.framework
+
+$(TMP_DIR) :
+       mkdir -p $(TMP_DIR)
+
+$(LIB_DIR) :
+       mkdir -p $(LIB_DIR)
+       
+# This builds the framework structure and links everything properly    
+$(LIB_DIR)/libcurl.framework: $(OBJECTS) $(LIB_DIR)/libcurl.plist
+       mkdir -p $(LIB_DIR)/libcurl.framework/Versions/A/Resources
+       $(CC) $(LINK_OPTIONS) $(LIBRARIES) $(OBJECTS) \
+               -o $(LIB_DIR)/libcurl.framework/Versions/A/libcurl
+       cp $(LIB_DIR)/libcurl.plist $(LIB_DIR)/libcurl.framework/Versions/A/Resources/Info.plist
+       cd $(LIB_DIR)/libcurl.framework; \
+       ln -fs ./Versions/A/libcurl libcurl; \
+       ln -fs ./Versions/A/Resources Resources
+       cd $(LIB_DIR)/libcurl.framework/Versions; \
+       ln -fs ./A Current
+
+$(OBJECTS) : $(TMP_DIR)/%.o: $(LIB_DIR)/%.c 
+       $(CC) $(C_OPTIONS) -c $< -o $@
+
+clean:
+       rm -fr $(LIB_DIR)/libcurl.framework
+       rm -f $(OBJECTS)
+
+
+
diff --git a/lib/libcurl.plist b/lib/libcurl.plist
new file mode 100644 (file)
index 0000000..9b0fa07
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>    
+       
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       
+       <key>CFBundleExecutable</key>
+       <string>curl</string>
+       
+       <key>CFBundleIdentifier</key>
+       <string>com.libcurl.libcurl</string>
+       
+       <key>CFBundleVersion</key>
+       <string>7.10.8</string>
+
+       <key>CFBundleName</key>
+       <string>libcurl</string>
+
+       <key>CFBundlePackageType</key>
+       <string>FMWK</string>   
+        
+       <key>CFBundleSignature</key>
+       <string>????</string>   
+       
+       <key>CFBundleShortVersionString</key>
+       <string>libcurl 7.10.8</string>
+       
+       <key>CFBundleGetInfoString</key>
+       <string>libcurl.plist 7.10.8</string>
+</dict>
+</plist>
\ No newline at end of file