Bug 1186748 - Move gtk-related things in a separate mozconfig. r=mshal

Some mozconfigs don't include mozconfig.linux*, and don't get gtk-related
definitions, so move them in a separate mozconfig. To avoid having two
files, one for 32-bit builds and one for 64-bit builds, rely on the
includer to set PKG_CONFIG_LIBDIR appropriately.

At the same time, move all the --enable-default-toolkit=cairo-gtk2 in that
new file in the case the gtk3 package wasn't pulled from tooltool.
This commit is contained in:
Mike Hommey 2015-07-23 17:28:30 +09:00
parent 484986b581
commit 684778963f
16 changed files with 72 additions and 68 deletions

View File

@ -4,8 +4,6 @@ MOZ_AUTOMATION_UPDATE_PACKAGING=0
. "$topsrcdir/b2g/config/mozconfigs/common" . "$topsrcdir/b2g/config/mozconfigs/common"
. "$topsrcdir/build/unix/mozconfig.linux32" . "$topsrcdir/build/unix/mozconfig.linux32"
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
ac_add_options --enable-update-packaging ac_add_options --enable-update-packaging
ac_add_options --enable-signmar ac_add_options --enable-signmar

View File

@ -5,8 +5,6 @@ MOZ_AUTOMATION_SDK=0
. "$topsrcdir/b2g/config/mozconfigs/common" . "$topsrcdir/b2g/config/mozconfigs/common"
. "$topsrcdir/build/unix/mozconfig.linux32" . "$topsrcdir/build/unix/mozconfig.linux32"
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
ac_add_options --enable-update-packaging ac_add_options --enable-update-packaging
ac_add_options --enable-signmar ac_add_options --enable-signmar

View File

@ -4,8 +4,6 @@ MOZ_AUTOMATION_UPDATE_PACKAGING=0
. "$topsrcdir/b2g/config/mozconfigs/common" . "$topsrcdir/b2g/config/mozconfigs/common"
. "$topsrcdir/build/unix/mozconfig.linux" . "$topsrcdir/build/unix/mozconfig.linux"
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
ac_add_options --enable-update-packaging ac_add_options --enable-update-packaging
ac_add_options --enable-signmar ac_add_options --enable-signmar

View File

@ -5,8 +5,6 @@ MOZ_AUTOMATION_SDK=0
. "$topsrcdir/b2g/config/mozconfigs/common" . "$topsrcdir/b2g/config/mozconfigs/common"
. "$topsrcdir/build/unix/mozconfig.linux" . "$topsrcdir/build/unix/mozconfig.linux"
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
ac_add_options --enable-update-packaging ac_add_options --enable-update-packaging
ac_add_options --enable-signmar ac_add_options --enable-signmar

View File

@ -4,7 +4,6 @@ MOZ_AUTOMATION_UPDATE_PACKAGING=0
MOZ_AUTOMATION_SDK=0 MOZ_AUTOMATION_SDK=0
. "$topsrcdir/browser/config/mozconfigs/linux64/nightly" . "$topsrcdir/browser/config/mozconfigs/linux64/nightly"
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-application=b2g/dev ac_add_options --enable-application=b2g/dev
# Include Firefox OS fonts. # Include Firefox OS fonts.

View File

@ -10,6 +10,9 @@ ac_add_options --enable-valgrind
. $topsrcdir/build/unix/mozconfig.asan . $topsrcdir/build/unix/mozconfig.asan
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
. $topsrcdir/build/unix/mozconfig.gtk
# Package js shell. # Package js shell.
export MOZ_PACKAGE_JSSHELL=1 export MOZ_PACKAGE_JSSHELL=1

View File

@ -9,6 +9,9 @@ ac_add_options --enable-valgrind
. $topsrcdir/build/unix/mozconfig.asan . $topsrcdir/build/unix/mozconfig.asan
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
. $topsrcdir/build/unix/mozconfig.gtk
# Package js shell. # Package js shell.
export MOZ_PACKAGE_JSSHELL=1 export MOZ_PACKAGE_JSSHELL=1

View File

@ -1,7 +1,5 @@
. $topsrcdir/browser/config/mozconfigs/linux32/nightly . $topsrcdir/browser/config/mozconfigs/linux32/nightly
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-valgrind ac_add_options --enable-valgrind
ac_add_options --disable-jemalloc ac_add_options --disable-jemalloc
ac_add_options --disable-install-strip ac_add_options --disable-install-strip

View File

@ -8,10 +8,11 @@ ac_add_options --enable-optimize="-O1"
# ASan specific options on Linux # ASan specific options on Linux
ac_add_options --enable-valgrind ac_add_options --enable-valgrind
ac_add_options --enable-default-toolkit=cairo-gtk2
. $topsrcdir/build/unix/mozconfig.asan . $topsrcdir/build/unix/mozconfig.asan
export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
. $topsrcdir/build/unix/mozconfig.gtk
# Package js shell. # Package js shell.
export MOZ_PACKAGE_JSSHELL=1 export MOZ_PACKAGE_JSSHELL=1

View File

@ -7,8 +7,6 @@ MOZ_AUTOMATION_L10N_CHECK=0
ac_add_options --enable-debug ac_add_options --enable-debug
ac_add_options --enable-dmd ac_add_options --enable-dmd
ac_add_options --enable-default-toolkit=cairo-gtk2
# Use Clang as specified in manifest # Use Clang as specified in manifest
export CC="$topsrcdir/clang/bin/clang" export CC="$topsrcdir/clang/bin/clang"
export CXX="$topsrcdir/clang/bin/clang++" export CXX="$topsrcdir/clang/bin/clang++"
@ -19,4 +17,7 @@ ac_add_options --enable-clang-plugin
# Avoid dependency on libstdc++ 4.7 # Avoid dependency on libstdc++ 4.7
ac_add_options --enable-stdcxx-compat ac_add_options --enable-stdcxx-compat
export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
. $topsrcdir/build/unix/mozconfig.gtk
. "$topsrcdir/build/mozconfig.common.override" . "$topsrcdir/build/mozconfig.common.override"

View File

@ -11,8 +11,6 @@
ac_add_options --enable-elf-hack ac_add_options --enable-elf-hack
ac_add_options --enable-stdcxx-compat ac_add_options --enable-stdcxx-compat
ac_add_options --enable-default-toolkit=cairo-gtk2
# The objdir must be at a known location so its path can be stripped from the # The objdir must be at a known location so its path can be stripped from the
# filenames stored by the analysis # filenames stored by the analysis
mk_add_options MOZ_OBJDIR=obj-analyzed mk_add_options MOZ_OBJDIR=obj-analyzed
@ -28,4 +26,7 @@ CFLAGS="$CFLAGS -Wno-attributes"
CPPFLAGS="$CPPFLAGS -Wno-attributes" CPPFLAGS="$CPPFLAGS -Wno-attributes"
CXXFLAGS="$CXXFLAGS -Wno-attributes" CXXFLAGS="$CXXFLAGS -Wno-attributes"
export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
. $topsrcdir/build/unix/mozconfig.gtk
. "$topsrcdir/build/mozconfig.common.override" . "$topsrcdir/build/mozconfig.common.override"

View File

@ -7,10 +7,11 @@ ac_add_options --enable-optimize="-O2 -gline-tables-only"
# ASan specific options on Linux # ASan specific options on Linux
ac_add_options --enable-valgrind ac_add_options --enable-valgrind
ac_add_options --enable-default-toolkit=cairo-gtk2
. $topsrcdir/build/unix/mozconfig.asan . $topsrcdir/build/unix/mozconfig.asan
export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
. $topsrcdir/build/unix/mozconfig.gtk
# Package js shell. # Package js shell.
export MOZ_PACKAGE_JSSHELL=1 export MOZ_PACKAGE_JSSHELL=1

View File

@ -1,13 +1,9 @@
. $topsrcdir/browser/config/mozconfigs/linux64/nightly . $topsrcdir/browser/config/mozconfigs/linux64/nightly
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-valgrind ac_add_options --enable-valgrind
ac_add_options --disable-jemalloc ac_add_options --disable-jemalloc
ac_add_options --disable-install-strip ac_add_options --disable-install-strip
ac_add_options --enable-default-toolkit=cairo-gtk2
# Include the override mozconfig again (even though the above includes it) # Include the override mozconfig again (even though the above includes it)
# since it's supposed to override everything. # since it's supposed to override everything.
. "$topsrcdir/build/mozconfig.common.override" . "$topsrcdir/build/mozconfig.common.override"

48
build/unix/mozconfig.gtk Normal file
View File

@ -0,0 +1,48 @@
# $topsrcdir/gtk3 comes from tooltool, when the tooltool manifest contains it.
if [ -d "$topsrcdir/gtk3" ]; then
if [ -z "$PKG_CONFIG_LIBDIR" ]; then
echo PKG_CONFIG_LIBDIR must be set >&2
exit 1
fi
export PKG_CONFIG_SYSROOT_DIR="$topsrcdir/gtk3"
export PKG_CONFIG_PATH="$topsrcdir/gtk3/usr/local/lib/pkgconfig"
export PATH="$topsrcdir/gtk3/usr/local/bin:${PATH}"
# Ensure cairo, gdk-pixbuf, etc. are not taken from the system installed packages.
LDFLAGS="-L$topsrcdir/gtk3/usr/local/lib ${LDFLAGS}"
mk_add_options "export LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib"
ac_add_options --enable-default-toolkit=cairo-gtk3
# Set things up to use Gtk+3 from the tooltool package
mk_add_options "export FONTCONFIG_PATH=$topsrcdir/gtk3/usr/local/etc/fonts"
mk_add_options "export PANGO_SYSCONFDIR=$topsrcdir/gtk3/usr/local/etc"
mk_add_options "export PANGO_LIBDIR=$topsrcdir/gtk3/usr/local/lib"
mk_add_options "export GDK_PIXBUF_MODULE_FILE=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
mk_add_options "export GDK_PIXBUF_MODULEDIR=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders"
mk_add_options "export LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib"
# pango expects absolute paths in pango.modules, and topsrcdir may vary...
LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib \
PANGO_SYSCONFDIR=$topsrcdir/gtk3/usr/local/etc \
PANGO_LIBDIR=$topsrcdir/gtk3/usr/local/lib \
$topsrcdir/gtk3/usr/local/bin/pango-querymodules > $topsrcdir/gtk3/usr/local/etc/pango/pango.modules
# same with gdb-pixbuf and loaders.cache
LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib \
GDK_PIXBUF_MODULE_FILE=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
GDK_PIXBUF_MODULEDIR=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders \
$topsrcdir/gtk3/usr/local/bin/gdk-pixbuf-query-loaders > $topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
# mock build environment doesn't have fonts in /usr/share/fonts, but
# has some in /usr/share/X11/fonts. Add this directory to the
# fontconfig configuration without changing the gtk3 tooltool package.
cat << EOF > $topsrcdir/gtk3/usr/local/etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/X11/fonts</dir>
</fontconfig>
EOF
else
ac_add_options --enable-default-toolkit=cairo-gtk2
fi

View File

@ -29,49 +29,9 @@ ac_add_options --enable-elf-hack
# Avoid dependency on libstdc++ 4.7 # Avoid dependency on libstdc++ 4.7
ac_add_options --enable-stdcxx-compat ac_add_options --enable-stdcxx-compat
# $topsrcdir/gtk3 comes from tooltool, when the tooltool manifest contains it. # PKG_CONFIG_LIBDIR is appropriately overridden in mozconfig.linux32
if [ -d "$topsrcdir/gtk3" ]; then export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
# PKG_CONFIG_LIBDIR is appropriately overridden in mozconfig.linux32
export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
export PKG_CONFIG_SYSROOT_DIR="$topsrcdir/gtk3"
export PKG_CONFIG_PATH="$topsrcdir/gtk3/usr/local/lib/pkgconfig"
export PATH="$topsrcdir/gtk3/usr/local/bin:${PATH}"
# Ensure cairo, gdk-pixbuf, etc. are not taken from the system installed packages.
LDFLAGS="-L$topsrcdir/gtk3/usr/local/lib"
mk_add_options "export LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib"
ac_add_options --enable-default-toolkit=cairo-gtk3
# Set things up to use Gtk+3 from the tooltool package
mk_add_options "export FONTCONFIG_PATH=$topsrcdir/gtk3/usr/local/etc/fonts"
mk_add_options "export PANGO_SYSCONFDIR=$topsrcdir/gtk3/usr/local/etc"
mk_add_options "export PANGO_LIBDIR=$topsrcdir/gtk3/usr/local/lib"
mk_add_options "export GDK_PIXBUF_MODULE_FILE=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
mk_add_options "export GDK_PIXBUF_MODULEDIR=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders"
mk_add_options "export LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib"
# pango expects absolute paths in pango.modules, and topsrcdir may vary...
LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib \
PANGO_SYSCONFDIR=$topsrcdir/gtk3/usr/local/etc \
PANGO_LIBDIR=$topsrcdir/gtk3/usr/local/lib \
$topsrcdir/gtk3/usr/local/bin/pango-querymodules > $topsrcdir/gtk3/usr/local/etc/pango/pango.modules
# same with gdb-pixbuf and loaders.cache
LD_LIBRARY_PATH=$topsrcdir/gtk3/usr/local/lib \
GDK_PIXBUF_MODULE_FILE=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
GDK_PIXBUF_MODULEDIR=$topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders \
$topsrcdir/gtk3/usr/local/bin/gdk-pixbuf-query-loaders > $topsrcdir/gtk3/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
# mock build environment doesn't have fonts in /usr/share/fonts, but
# has some in /usr/share/X11/fonts. Add this directory to the
# fontconfig configuration without changing the gtk3 tooltool package.
cat << EOF > $topsrcdir/gtk3/usr/local/etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/X11/fonts</dir>
</fontconfig>
EOF
fi
export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token
. "$topsrcdir/build/unix/mozconfig.gtk"

View File

@ -1,5 +1,7 @@
. "$topsrcdir/build/unix/mozconfig.linux" . "$topsrcdir/build/unix/mozconfig.linux"
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
if test `uname -m` = "x86_64"; then if test `uname -m` = "x86_64"; then
# -march=pentiumpro is what our 32-bit native toolchain defaults to # -march=pentiumpro is what our 32-bit native toolchain defaults to
CC="$CC -m32 -march=pentiumpro" CC="$CC -m32 -march=pentiumpro"
@ -7,5 +9,4 @@ if test `uname -m` = "x86_64"; then
ac_add_options --target=i686-pc-linux ac_add_options --target=i686-pc-linux
ac_add_options --host=i686-pc-linux ac_add_options --host=i686-pc-linux
ac_add_options --x-libraries=/usr/lib ac_add_options --x-libraries=/usr/lib
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
fi fi