compile revision 9ace9065
1#!/bin/bash 2 3#CONFOPT="--disable-xquartz --disable-glx --disable-dri --disable-launchd --enable-kdrive --disable-xsdl --enable-xnest --enable-xvfb" 4 5CONFOPT="--enable-standalone-xpbproxy" 6#CONFOPT="--disable-shave --without-dtrace" 7 8CONFOPT="${CONFOPT} --with-dtrace" 9 10# Parallel Make. Change $MAKE if you don't have gmake installed 11MAKE="gnumake" 12MAKE_OPTS="-j10" 13 14. ~/src/strip.sh 15 16PREFIX=/usr/X11 17ARCHFLAGS="-arch i386 -arch x86_64" 18 19#PREFIX=/opt/X11 20#CONFOPT="$CONFOPT --with-apple-application-name=XQuartz --with-launchd-id-prefix=org.macosforge.xquartz" 21#ARCHFLAGS="-arch i386 -arch x86_64" 22 23ACLOCAL="aclocal -I ${PREFIX}/share/aclocal -I /usr/local/share/aclocal" 24 25CPPFLAGS="-DNO_ALLOCA" 26 27CFLAGS="$CFLAGS -Os -ggdb3 -pipe" 28CFLAGS="$CFLAGS $ARCHFLAGS" 29CFLAGS="$CFLAGS -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers" 30 31 TB_CFLAGS="-fdiagnostics-show-category=name" 32 33# Stage 1: 34 TB_CFLAGS="${TB_CFLAGS} -Werror=implicit" 35 TB_CFLAGS="${TB_CFLAGS} -Werror=nonnull" 36 TB_CFLAGS="${TB_CFLAGS} -Wformat-security" # <rdar://problem/9418512> clang is overzealous about -Werror=format-* 37 TB_CFLAGS="${TB_CFLAGS} -Wformat-extra-args" 38 TB_CFLAGS="${TB_CFLAGS} -Wformat-y2k" 39 TB_CFLAGS="${TB_CFLAGS} -Werror=init-self" 40 TB_CFLAGS="${TB_CFLAGS} -Werror=main" 41 TB_CFLAGS="${TB_CFLAGS} -Werror=missing-braces" 42 TB_CFLAGS="${TB_CFLAGS} -Wparentheses" # libX11 XKBBind.c:169 43 TB_CFLAGS="${TB_CFLAGS} -Werror=sequence-point" 44 TB_CFLAGS="${TB_CFLAGS} -Werror=return-type" 45 TB_CFLAGS="${TB_CFLAGS} -Werror=trigraphs" 46 TB_CFLAGS="${TB_CFLAGS} -Werror=array-bounds" 47# TB_CFLAGS="${TB_CFLAGS} -Wcast-align" # Noisy 48 TB_CFLAGS="${TB_CFLAGS} -Werror=write-strings" 49# TB_CFLAGS="${TB_CFLAGS} -Werror=clobbered" 50 TB_CFLAGS="${TB_CFLAGS} -Werror=address" 51 TB_CFLAGS="${TB_CFLAGS} -Werror=int-to-pointer-cast" 52 TB_CFLAGS="${TB_CFLAGS} -Werror=pointer-to-int-cast" 53 54# Stage 2: 55# TB_CFLAGS="${TB_CFLAGS} -Wlogical-op" 56 TB_CFLAGS="${TB_CFLAGS} -Wunused" 57 TB_CFLAGS="${TB_CFLAGS} -Wuninitialized" 58 TB_CFLAGS="${TB_CFLAGS} -Wshadow" 59# TB_CFLAGS="${TB_CFLAGS} -Wunsafe-loop-optimizations" 60 TB_CFLAGS="${TB_CFLAGS} -Wcast-qual" 61 TB_CFLAGS="${TB_CFLAGS} -Wmissing-noreturn" 62 TB_CFLAGS="${TB_CFLAGS} -Wmissing-format-attribute" 63 TB_CFLAGS="${TB_CFLAGS} -Wredundant-decls" 64 TB_CFLAGS="${TB_CFLAGS} -Wnested-externs" 65 TB_CFLAGS="${TB_CFLAGS} -Winline" 66 67OBJCFLAGS="$CFLAGS" 68LDFLAGS="$CFLAGS" 69 70#CC="llvm-gcc" 71#CXX="llvm-g++" 72CC="clang" 73CXX="clang++" 74 75OBJC="$CC" 76 77#SCAN_BUILD="scan-build -v -V -o clang.d --use-cc=${CC} --use-c++=${CXX}" 78 79#CPPFLAGS="$CPPFLAGS -F/Applications/Utilities/XQuartz.app/Contents/Frameworks" 80#LDFLAGS="$LDFLAGS -F/Applications/Utilities/XQuartz.app/Contents/Frameworks" 81#CPPFLAGS="$CPPFLAGS -F/Applications/Utilities/X11.app/Contents/Frameworks" 82#LDFLAGS="$LDFLAGS -F/Applications/Utilities/X11.app/Contents/Frameworks" 83#CONFOPT="${CONFOPT} --enable-sparkle" 84 85# This section is for building release tarballs 86if false ; then 87 CONFOPT="${CONFOPT} --enable-docs --enable-devel-docs --enable-builddocs --with-doxygen --with-xmlto --with-fop" 88 export XMLTO=/opt/local/bin/xmlto 89 export ASCIIDOC=/opt/local/bin/asciidoc 90 export DOXYGEN=/opt/local/bin/doxygen 91 export FOP=/opt/local/bin/fop 92 export FOP_OPTS="-Xmx2048m -Djava.awt.headless=true" 93 export GROFF=/opt/local/bin/groff 94 export PS2PDF=/opt/local/bin/ps2pdf 95fi 96 97export ACLOCAL CPPFLAGS CFLAGS OBJCFLAGS LDFLAGS CC OBJC 98 99PKG_CONFIG_PATH=${PREFIX}/share/pkgconfig:${PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH 100PATH=${PREFIX}/bin:$PATH 101 102die() { 103 echo "${@}" >&2 104 exit 1 105} 106 107docomp() { 108 autoreconf -fvi || die 109 ${SCAN_BUILD} ./configure --prefix=${PREFIX} ${CONFOPT} --disable-dependency-tracking --enable-maintainer-mode --enable-xcsecurity --enable-record --disable-xevie "${@}" || die "Could not configure xserver" 110 ${MAKE} clean || die "Unable to make clean" 111 ${SCAN_BUILD} ${MAKE} ${MAKE_OPTS} || die "Could not make xserver" 112} 113 114doinst() { 115 ${MAKE} install DESTDIR="$(pwd)/../dist" || die "Could not install xserver" 116} 117 118dosign() { 119 /opt/local/bin/gmd5sum $1 > $1.md5sum 120 /opt/local/bin/gsha1sum $1 > $1.sha1sum 121 DISPLAY="" /opt/local/bin/gpg2 -b $1 122} 123 124dodist() { 125 ${MAKE} dist 126 dosign xorg-server-$1.tar.bz2 127 128 cp hw/xquartz/mach-startup/X11.bin X11.bin-$1 129 bzip2 X11.bin-$1 130 dosign X11.bin-$1.bz2 131} 132 133docomp `[ -f conf_flags ] && cat conf_flags` 134#doinst 135[[ -n $1 ]] && dodist $1 136 137exit 0 138