1 #!/bin/bash 2 3 #CONFOPT="--disable-xquartz --disable-glx --disable-dri --disable-launchd --enable-kdrive --disable-xsdl --enable-xnest --enable-xvfb" 4 #CONFOPT="--enable-xorg --disable-xquartz --disable-kdrive --disable-xnest --disable-xvfb" 5 6 CONFOPT="--enable-standalone-xpbproxy" 7 #CONFOPT="--disable-shave --without-dtrace" 8 9 CONFOPT="${CONFOPT} --with-dtrace" 10 11 # Parallel Make. Change $MAKE if you don't have gmake installed 12 MAKE="gnumake" 13 MAKE_OPTS="-j10" 14 15 . ~/src/strip.sh 16 17 #PREFIX=/usr/X11 18 #ARCHFLAGS="-arch i386 -arch x86_64" 19 20 PREFIX=/opt/X11 21 CONFOPT="$CONFOPT --with-apple-application-name=XQuartz --with-launchd-id-prefix=org.macosforge.xquartz" 22 ARCHFLAGS="-arch i386 -arch x86_64" 23 24 ACLOCAL="aclocal -I ${PREFIX}/share/aclocal -I /usr/local/share/aclocal" 25 26 CPPFLAGS="-DNO_ALLOCA -DNO_COMPILER_H -DFAKEIT" 27 28 CFLAGS="$CFLAGS -O0 -g3 -pipe" 29 CFLAGS="$CFLAGS $ARCHFLAGS" 30 CFLAGS="$CFLAGS -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers" 31 32 CFLAGS="${CFLAGS} -fdiagnostics-show-category=name" 33 34 # Stage 1: 35 # CFLAGS="${CFLAGS} -Werror=clobbered" 36 # CFLAGS="${CFLAGS} -Wlogical-op" 37 # CFLAGS="${CFLAGS} -Wparentheses" 38 # CFLAGS="${CFLAGS} -Wcast-align" 39 # CFLAGS="${CFLAGS} -Wunsafe-loop-optimizations" 40 41 OBJCFLAGS="$CFLAGS" 42 LDFLAGS="$CFLAGS" 43 44 #CC="llvm-gcc" 45 #CXX="llvm-g++" 46 CC="/opt/local/bin/clang-mp-3.1" 47 CXX="/opt/local/bin/clang++-mp-3.1" 48 49 OBJC="$CC" 50 51 #SCAN_BUILD="scan-build -v -V -o clang.d --use-cc=${CC} --use-c++=${CXX}" 52 53 #CPPFLAGS="$CPPFLAGS -F/Applications/Utilities/XQuartz.app/Contents/Frameworks" 54 #LDFLAGS="$LDFLAGS -F/Applications/Utilities/XQuartz.app/Contents/Frameworks" 55 #CPPFLAGS="$CPPFLAGS -F/Applications/Utilities/X11.app/Contents/Frameworks" 56 #LDFLAGS="$LDFLAGS -F/Applications/Utilities/X11.app/Contents/Frameworks" 57 #CONFOPT="${CONFOPT} --enable-sparkle" 58 59 # This section is for building release tarballs 60 if false ; then 61 CONFOPT="${CONFOPT} --enable-docs --enable-devel-docs --enable-builddocs --with-doxygen --with-xmlto --with-fop" 62 export XMLTO=/opt/local/bin/xmlto 63 export ASCIIDOC=/opt/local/bin/asciidoc 64 export DOXYGEN=/opt/local/bin/doxygen 65 export FOP=/opt/local/bin/fop 66 export FOP_OPTS="-Xmx2048m -Djava.awt.headless=true" 67 export GROFF=/opt/local/bin/groff 68 export PS2PDF=/opt/local/bin/ps2pdf 69 fi 70 71 export ACLOCAL CPPFLAGS CFLAGS OBJCFLAGS LDFLAGS CC OBJC 72 73 PKG_CONFIG_PATH=${PREFIX}/share/pkgconfig:${PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH 74 PATH=${PREFIX}/bin:$PATH 75 76 die() { 77 echo "${@}" >&2 78 exit 1 79 } 80 81 docomp() { 82 autoreconf -fvi || die 83 ${SCAN_BUILD} ./configure --prefix=${PREFIX} ${CONFOPT} --disable-dependency-tracking --enable-maintainer-mode --enable-xcsecurity --enable-record --disable-xevie "${@}" || die "Could not configure xserver" 84 ${MAKE} clean || die "Unable to make clean" 85 ${SCAN_BUILD} ${MAKE} ${MAKE_OPTS} || die "Could not make xserver" 86 #${MAKE} distcheck ${MAKE_OPTS} DESTDIR=/tmp/distcheck || die "distcheck failed" 87 ../modular/release.sh . 88 } 89 90 doinst() { 91 ${MAKE} install DESTDIR="$(pwd)/../dist" || die "Could not install xserver" 92 } 93 94 dosign() { 95 /opt/local/bin/gmd5sum $1 > $1.md5sum 96 /opt/local/bin/gsha1sum $1 > $1.sha1sum 97 DISPLAY="" /opt/local/bin/gpg2 -b $1 98 } 99 100 dodist() { 101 ${MAKE} dist 102 dosign xorg-server-$1.tar.bz2 103 104 cp hw/xquartz/mach-startup/X11.bin X11.bin-$1 105 bzip2 X11.bin-$1 106 dosign X11.bin-$1.bz2 107 } 108 109 docomp `[ -f conf_flags ] && cat conf_flags` 110 #doinst 111 [[ -n $1 ]] && dodist $1 112 113 exit 0 114