diff options
Diffstat (limited to 'cocoa/config')
-rw-r--r-- | cocoa/config/NetSurf.xcconfig | 15 | ||||
-rw-r--r-- | cocoa/config/common.xcconfig | 9 | ||||
-rw-r--r-- | cocoa/config/debug.xcconfig | 7 | ||||
-rwxr-xr-x | cocoa/config/detect.sh | 155 | ||||
-rw-r--r-- | cocoa/config/release.xcconfig | 3 |
5 files changed, 189 insertions, 0 deletions
diff --git a/cocoa/config/NetSurf.xcconfig b/cocoa/config/NetSurf.xcconfig new file mode 100644 index 000000000..144c8d74a --- /dev/null +++ b/cocoa/config/NetSurf.xcconfig @@ -0,0 +1,15 @@ +INSTALL_PATH = $(HOME)/Applications +INFOPLIST_FILE = res/NetSurf-Info.plist +GCC_PREFIX_HEADER = Prefix.pch +GCC_PRECOMPILE_PREFIX_HEADER = YES +GCC_MODEL_TUNING = G5 +ALWAYS_SEARCH_USER_PATHS = NO +PRODUCT_NAME = NetSurf + +LOCAL_CONFIG_CFLAGS = -I/usr/local/include -I/usr/include/libxml2 +LOCAL_CONFIG_LDFLAGS = -L/usr/local/lib -lxml2 -lz -lpthread -licucore -lm -lssl -lhubbub -lcss -lcrypto -lparserutils -lwapcaplet -liconv -lcurl + +#include "local.xcconfig" + +OTHER_LDFLAGS = $(inherited) $(LOCAL_CONFIG_LDFLAGS) +OTHER_CFLAGS = $(inherited) $(LOCAL_CONFIG_CFLAGS) diff --git a/cocoa/config/common.xcconfig b/cocoa/config/common.xcconfig new file mode 100644 index 000000000..b45951b79 --- /dev/null +++ b/cocoa/config/common.xcconfig @@ -0,0 +1,9 @@ +ARCHS = $(ARCHS_STANDARD_32_64_BIT) +SDKROOT = macosx10.5 +GCC_VERSION = +OTHER_LDFLAGS = +PREBINDING = NO +HEADER_SEARCH_PATHS = ${SRCROOT}/../ +GCC_C_LANGUAGE_STANDARD = gnu99 +GCC_WARN_ABOUT_RETURN_TYPE = YES +GCC_WARN_UNUSED_VARIABLE = YES diff --git a/cocoa/config/debug.xcconfig b/cocoa/config/debug.xcconfig new file mode 100644 index 000000000..82504178e --- /dev/null +++ b/cocoa/config/debug.xcconfig @@ -0,0 +1,7 @@ +#include "common.xcconfig" + +ONLY_ACTIVE_ARCH = YES +GCC_OPTIMIZATION_LEVEL = 0 +COPY_PHASE_STRIP = NO +GCC_ENABLE_FIX_AND_CONTINUE = YES +GCC_DYNAMIC_NO_PIC = NO diff --git a/cocoa/config/detect.sh b/cocoa/config/detect.sh new file mode 100755 index 000000000..48226615a --- /dev/null +++ b/cocoa/config/detect.sh @@ -0,0 +1,155 @@ +#!/bin/sh + +check_pkgconfig() { + if ! which pkg-config > /dev/null + then + echo "Error: install pkg-config (and make sure its in your path)" 1>&2 + exit 1 + fi +} + +CFLAGS=() +LDFLAGS=() +OPTIONS=() + +add_cflags() { + CFLAGS=("${CFLAGS[@]}" "$@") +} + +add_ldflags() { + LDFLAGS=("${LDFLAGS[@]}" "$@") +} + +package() { + if ! pkg-config $1 + then + return 1 + else + add_cflags `pkg-config --cflags $1` + add_ldflags `pkg-config --libs $1` + + return 0 + fi +} + + +check_required() { + if ! package $1 + then + echo "Error: package '$1' is required" 1>&2 + exit 1 + fi + return 0 +} + +check_required_tool() { + if ! $1 --version > /dev/null + then + echo "Error: package '$2' is required" 1>&2 + exit 1 + fi + + add_cflags `$1 --cflags` + add_ldflags `$1 --libs` + + return 0 +} + +check_optional() { + if package $2 + then + add_cflags -D$3 + OPTIONS=("${OPTIONS[@]}" "$1") + return 0 + else + return 1 + fi +} + +help() { + echo "options:" + echo " --with-jpeg=<prefix> Use libjpeg found at <prefix>" + echo " --with-mng=<prefiy> Use libmng found at <prefix>" + echo "" + exit 0 +} + + +parse_cmdline() { + while test -n "$1" ; do + case "$1" in + --help|-h) + echo "configure script for cocoa netsurf" + help + exit 0 + ;; + + --with-*=*) + name=`expr "$1" : '--with-\(.*\)=.*'` + value=`expr "$1" : '--with-.*=\(.*\)'` + eval "USE_$name='$value'" + ;; + + *) + echo "Error: invalid argument '$1'" 1>&2 + help 1>&2 + exit 1 + ;; + + esac + shift + done +} + +manual_config() { + var="USE_$1" + PREFIX=${!var} + if test -n "$PREFIX" ; then + OPTIONS=("${OPTIONS[@]}" "$1") + add_cflags -D$2 "-I$PREFIX/include" + add_ldflags "-L$PREFIX/lib" "-l$3" + fi +} + +parse_cmdline "$@" + +check_pkgconfig + +# Required libraries +check_required libhubbub +check_required libcss +check_required libparserutils +check_required libwapcaplet +check_required libcurl +check_required openssl +check_required_tool xml2-config libxml2 + +# Optional libraries +check_optional gif libnsgif WITH_GIF +check_optional bmp libnsbmp WITH_BMP +check_optional rsvg librsvg-2.0 WITH_RSVG +check_optional svgtiny libsvgtiny WITH_NS_SVG +check_optional rosprite librosprite WITH_NSSPRITE + + +# Optional libraries witout pkg-config information +manual_config jpeg WITH_JPEG jpeg +manual_config mng WITH_MNG mng + +# OS X provides libpng in /usr/X11 +add_cflags -DWITH_PNG -I/usr/X11/include +add_ldflags -L/usr/X11/lib -lpng + +# OS X provides libiconv +add_ldflags -liconv + +## +# Generate config file + +cat << EOF > local.xcconfig +// Local configuration generated on `hostname` at `date` +// Activated options: ${OPTIONS[@]} + +LOCAL_CONFIG_CFLAGS=${CFLAGS[@]} +LOCAL_CONFIG_LDFLAGS=${LDFLAGS[@]} +EOF diff --git a/cocoa/config/release.xcconfig b/cocoa/config/release.xcconfig new file mode 100644 index 000000000..efcded046 --- /dev/null +++ b/cocoa/config/release.xcconfig @@ -0,0 +1,3 @@ +#include "common.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym |