mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 02:14:43 +00:00
Bug 1256988 - Move MOZ_WIDGET_TOOLKIT to moz.configure. r=chmanchester
This commit is contained in:
parent
0366070f0d
commit
b6f701b9e1
@ -191,7 +191,6 @@ def old_configure_options(*options):
|
||||
'--enable-debug',
|
||||
'--enable-debug-js-modules',
|
||||
'--enable-debug-symbols',
|
||||
'--enable-default-toolkit',
|
||||
'--enable-directshow',
|
||||
'--enable-dmd',
|
||||
'--enable-dtrace',
|
||||
|
@ -637,8 +637,6 @@ MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
|
||||
|
||||
USE_DEPENDENT_LIBS=1
|
||||
|
||||
_PLATFORM_DEFAULT_TOOLKIT=cairo-gtk2
|
||||
|
||||
dnl Configure platform-specific CPU architecture compiler options.
|
||||
dnl ==============================================================
|
||||
MOZ_ARCH_OPTS
|
||||
@ -948,7 +946,6 @@ case "$target" in
|
||||
DLL_SUFFIX=".dylib"
|
||||
DSO_LDOPTS=''
|
||||
STRIP="$STRIP -x -S"
|
||||
_PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
|
||||
LDFLAGS="$LDFLAGS -lobjc"
|
||||
# The ExceptionHandling framework is needed for Objective-C exception
|
||||
# logging code in nsObjCExceptions.h. Currently we only use that in debug
|
||||
@ -992,7 +989,6 @@ case "$target" in
|
||||
*-android*|*-linuxandroid*)
|
||||
AC_DEFINE(NO_PW_GECOS)
|
||||
no_x=yes
|
||||
_PLATFORM_DEFAULT_TOOLKIT=cairo-android
|
||||
|
||||
MOZ_GFX_OPTIMIZE_MOBILE=1
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fno-reorder-functions"
|
||||
@ -1217,7 +1213,6 @@ case "$target" in
|
||||
AC_DEFINE(HW_THREADS)
|
||||
AC_DEFINE(STDC_HEADERS)
|
||||
AC_DEFINE(WIN32_LEAN_AND_MEAN)
|
||||
_PLATFORM_DEFAULT_TOOLKIT='cairo-windows'
|
||||
BIN_SUFFIX='.exe'
|
||||
MOZ_USER_DIR="Mozilla"
|
||||
|
||||
|
@ -837,8 +837,6 @@ MOZ_FS_LAYOUT=unix
|
||||
|
||||
USE_DEPENDENT_LIBS=1
|
||||
|
||||
_PLATFORM_DEFAULT_TOOLKIT=cairo-gtk3
|
||||
|
||||
dnl Configure platform-specific CPU architecture compiler options.
|
||||
dnl ==============================================================
|
||||
if test "$COMPILE_ENVIRONMENT"; then
|
||||
@ -1482,12 +1480,10 @@ case "$target" in
|
||||
if test -n "$MOZ_IOS"; then
|
||||
AC_DEFINE(XP_IOS)
|
||||
AC_DEFINE(XP_DARWIN)
|
||||
_PLATFORM_DEFAULT_TOOLKIT='cairo-uikit'
|
||||
direct_nspr_config=1
|
||||
else
|
||||
AC_DEFINE(XP_MACOSX)
|
||||
AC_DEFINE(XP_DARWIN)
|
||||
_PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
|
||||
# The ExceptionHandling framework is needed for Objective-C exception
|
||||
# logging code in nsObjCExceptions.h. Currently we only use that in debug
|
||||
# builds.
|
||||
@ -1538,12 +1534,10 @@ case "$target" in
|
||||
AC_DEFINE(NO_PW_GECOS)
|
||||
no_x=yes
|
||||
if test -n "$gonkdir"; then
|
||||
_PLATFORM_DEFAULT_TOOLKIT=cairo-gonk
|
||||
_PLATFORM_HAVE_RIL=1
|
||||
MOZ_B2G_FM=1
|
||||
MOZ_SYNTH_PICO=1
|
||||
else
|
||||
_PLATFORM_DEFAULT_TOOLKIT=cairo-android
|
||||
if test "$COMPILE_ENVIRONMENT"; then
|
||||
MOZ_LINKER=1
|
||||
fi
|
||||
@ -1806,7 +1800,6 @@ case "$target" in
|
||||
AC_DEFINE(WIN32_LEAN_AND_MEAN)
|
||||
dnl See http://support.microsoft.com/kb/143208 to use STL
|
||||
AC_DEFINE(NOMINMAX)
|
||||
_PLATFORM_DEFAULT_TOOLKIT='cairo-windows'
|
||||
BIN_SUFFIX='.exe'
|
||||
MOZ_USER_DIR="Mozilla"
|
||||
|
||||
@ -3420,38 +3413,6 @@ dnl =
|
||||
dnl ========================================================
|
||||
MOZ_ARG_HEADER(Toolkit Options)
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Select the default toolkit
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_STRING(default-toolkit,
|
||||
[ --enable-default-toolkit=TK
|
||||
Select default toolkit
|
||||
Platform specific defaults:
|
||||
Mac OS X - cairo-cocoa
|
||||
Win32 - cairo-windows
|
||||
* - cairo-gtk2
|
||||
* - cairo-gtk3
|
||||
* - cairo-qt],
|
||||
[ _DEFAULT_TOOLKIT=$enableval ],
|
||||
[ _DEFAULT_TOOLKIT=$_PLATFORM_DEFAULT_TOOLKIT])
|
||||
|
||||
if test "$_DEFAULT_TOOLKIT" = "cairo-windows" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-gtk2" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-gtk2-x11" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-gtk3" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-qt" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-cocoa" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-uikit" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-android" \
|
||||
-o "$_DEFAULT_TOOLKIT" = "cairo-gonk"
|
||||
then
|
||||
dnl nglayout only supports building with one toolkit,
|
||||
dnl so ignore everything after the first comma (",").
|
||||
MOZ_WIDGET_TOOLKIT=`echo "$_DEFAULT_TOOLKIT" | sed -e "s/,.*$//"`
|
||||
else
|
||||
AC_MSG_ERROR([You must specify a default toolkit (perhaps $_PLATFORM_DEFAULT_TOOLKIT).])
|
||||
fi
|
||||
|
||||
MOZ_ARG_WITHOUT_BOOL(x,
|
||||
[ --without-x Build without X11],
|
||||
WITHOUT_X11=1)
|
||||
@ -3464,14 +3425,12 @@ MOZ_WIDGET_GTK=
|
||||
|
||||
case "$MOZ_WIDGET_TOOLKIT" in
|
||||
|
||||
cairo-windows)
|
||||
MOZ_WIDGET_TOOLKIT=windows
|
||||
windows)
|
||||
MOZ_PDF_PRINTING=1
|
||||
MOZ_INSTRUMENT_EVENT_LOOP=1
|
||||
;;
|
||||
|
||||
cairo-gtk3)
|
||||
MOZ_WIDGET_TOOLKIT=gtk3
|
||||
gtk3)
|
||||
MOZ_ENABLE_GTK=1
|
||||
MOZ_ENABLE_GTK3=1
|
||||
MOZ_ENABLE_XREMOTE=1
|
||||
@ -3487,8 +3446,7 @@ cairo-gtk3)
|
||||
MOZ_INSTRUMENT_EVENT_LOOP=1
|
||||
;;
|
||||
|
||||
cairo-gtk2|cairo-gtk2-x11)
|
||||
MOZ_WIDGET_TOOLKIT=gtk2
|
||||
gtk2)
|
||||
MOZ_ENABLE_GTK=1
|
||||
MOZ_ENABLE_GTK2=1
|
||||
MOZ_ENABLE_XREMOTE=1
|
||||
@ -3505,8 +3463,7 @@ cairo-gtk2|cairo-gtk2-x11)
|
||||
MOZ_INSTRUMENT_EVENT_LOOP=1
|
||||
;;
|
||||
|
||||
cairo-qt)
|
||||
MOZ_WIDGET_TOOLKIT=qt
|
||||
qt)
|
||||
MOZ_ENABLE_QT=1
|
||||
if test -z "$WITHOUT_X11"; then
|
||||
MOZ_ENABLE_XREMOTE=1
|
||||
@ -3522,8 +3479,7 @@ cairo-qt)
|
||||
AC_DEFINE(QT_NO_KEYWORDS)
|
||||
;;
|
||||
|
||||
cairo-cocoa)
|
||||
MOZ_WIDGET_TOOLKIT=cocoa
|
||||
cocoa)
|
||||
AC_DEFINE(MOZ_WIDGET_COCOA)
|
||||
LDFLAGS="$LDFLAGS -framework Cocoa -lobjc"
|
||||
# Use -Wl as a trick to avoid -framework and framework names from
|
||||
@ -3537,8 +3493,7 @@ cairo-cocoa)
|
||||
MOZ_INSTRUMENT_EVENT_LOOP=1
|
||||
;;
|
||||
|
||||
cairo-uikit)
|
||||
MOZ_WIDGET_TOOLKIT=uikit
|
||||
uikit)
|
||||
AC_DEFINE(MOZ_WIDGET_UIKIT)
|
||||
LDFLAGS="$LDFLAGS -framework UIKit -lobjc"
|
||||
TK_CFLAGS="-DNO_X11"
|
||||
@ -3549,17 +3504,15 @@ cairo-uikit)
|
||||
MOZ_FS_LAYOUT=bundle
|
||||
;;
|
||||
|
||||
cairo-android)
|
||||
android)
|
||||
AC_DEFINE(MOZ_WIDGET_ANDROID)
|
||||
MOZ_WIDGET_TOOLKIT=android
|
||||
MOZ_PDF_PRINTING=1
|
||||
MOZ_INSTRUMENT_EVENT_LOOP=1
|
||||
;;
|
||||
|
||||
cairo-gonk)
|
||||
gonk)
|
||||
AC_DEFINE(MOZ_WIDGET_GONK)
|
||||
AC_DEFINE(MOZ_TOUCH)
|
||||
MOZ_WIDGET_TOOLKIT=gonk
|
||||
MOZ_PDF_PRINTING=1
|
||||
MOZ_TOUCH=1
|
||||
MOZ_INSTRUMENT_EVENT_LOOP=1
|
||||
@ -7746,7 +7699,6 @@ AC_SUBST(WINDRES)
|
||||
AC_SUBST(IMPLIB)
|
||||
AC_SUBST(FILTER)
|
||||
AC_SUBST(BIN_FLAGS)
|
||||
AC_SUBST(MOZ_WIDGET_TOOLKIT)
|
||||
AC_SUBST(MOZ_AUTH_EXTENSION)
|
||||
AC_SUBST(MOZ_PREF_EXTENSIONS)
|
||||
AC_SUBST(MOZ_DEBUG)
|
||||
|
@ -5,3 +5,60 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
include('../js/moz.configure')
|
||||
|
||||
|
||||
# Default toolkit
|
||||
# ==============================================================
|
||||
# Normally, we'd want to use the `default` field on the option, but that
|
||||
# requires --target to be resolved at --help time, which requires to run
|
||||
# config.guess, which we want to avoid. Even better, we could actually set
|
||||
# `choices` depending on the target, but that doesn't pan out for the same
|
||||
# reason.
|
||||
option('--enable-default-toolkit', nargs=1,
|
||||
choices=('cairo-windows', 'cairo-gtk2', 'cairo-gtk2-x11', 'cairo-gtk3',
|
||||
'cairo-qt', 'cairo-cocoa', 'cairo-uikit', 'cairo-android',
|
||||
'cairo-gonk'),
|
||||
help='Select default toolkit')
|
||||
|
||||
@depends('--enable-default-toolkit', target, gonkdir)
|
||||
def toolkit(value, target, gonkdir):
|
||||
# Define possible choices for each platform. The default is the first one
|
||||
# listed when there are several.
|
||||
os = target.os
|
||||
if target.os == 'WINNT':
|
||||
platform_choices = ('cairo-windows',)
|
||||
elif target.os == 'OSX':
|
||||
platform_choices = ('cairo-cocoa',)
|
||||
elif target.os == 'iOS':
|
||||
platform_choices = ('cairo-uikit',)
|
||||
elif target.os == 'Android':
|
||||
if gonkdir:
|
||||
platform_choices = ('cairo-gonk',)
|
||||
os = 'B2G'
|
||||
else:
|
||||
platform_choices = ('cairo-android',)
|
||||
else:
|
||||
platform_choices = ('cairo-gtk3', 'cairo-gtk2', 'cairo-gtk2-x11',
|
||||
'cairo-qt')
|
||||
|
||||
if value:
|
||||
if value[0] not in platform_choices:
|
||||
error(
|
||||
'`%s` is not a valid value for --enable-default-toolkit on %s\n'
|
||||
'Valid values: %s'
|
||||
% (value[0], os, ', '.join(platform_choices)))
|
||||
return value[0]
|
||||
|
||||
return platform_choices[0]
|
||||
|
||||
|
||||
@depends(toolkit)
|
||||
def toolkit(toolkit):
|
||||
if toolkit == 'cairo-gtk2-x11':
|
||||
widget_toolkit = 'gtk2'
|
||||
else:
|
||||
widget_toolkit = toolkit.replace('cairo-', '')
|
||||
set_config('MOZ_WIDGET_TOOLKIT', widget_toolkit)
|
||||
add_old_configure_assignment('MOZ_WIDGET_TOOLKIT', widget_toolkit)
|
||||
|
||||
return widget_toolkit
|
||||
|
Loading…
Reference in New Issue
Block a user