Simplify backend selection. libart patches

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@13595 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2002-05-06 02:03:29 +00:00
parent 6233fb4e20
commit 2f3bc2ccb0
13 changed files with 399 additions and 401 deletions

View file

@ -1,3 +1,20 @@
2002-05-05 Adam Fedor <fedor@gnu.org>
* configure.ac: Simplify backend selection using --enable-server
and --enable-graphics. Add --with-library-flags and
--with-include-flags for adding additonal flags. Revert last
change to XShm.h test. Add check for art libraries.
* Source/GNUmakefile: Conform to new configure output
* Source/GSBackend.m: Idem.
* Headers/x11/wraster.h: Idem.
* GNUmakefile.postamble (after-distclean): Remove config.h
* Source/gsc/GSContext.m (-dealloc): Destroy gstate.
* Source/x11/XGServerWindow.m([XGServer
-_addExposedRectangle::]): Use current context class
([XGServer -flushwindowrect::]): Idem. (patches from
alexander@malmberg.org).
2002-05-04 Adam Fedor <fedor@gnu.org>
* configure.ac: Improved check for XShm.h

View file

@ -56,7 +56,7 @@ before-install:: $(INSTALL_ROOT_DIR)$(GNUSTEP_MAKEFILES)/Additional
# Things to do after distcleaning
after-distclean::
rm -f config.status config.log config.cache TAGS config.make back.make
rm -f config.status config.log config.cache TAGS config.h config.make back.make
back.make: back.make.in
./configure

View file

@ -46,7 +46,7 @@
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#ifdef HAVE_X11_EXTENSIONS_XSHM_H
#ifdef XSHM
#include <X11/extensions/XShm.h>
#endif

View file

@ -41,22 +41,8 @@ endif
#
# The list of subproject directories
#
SUBPROJECTS = gsc
ifneq ($(BUILD_X11),)
SUBPROJECTS += x11
endif
ifneq ($(BUILD_WIN32),)
SUBPROJECTS += win32
endif
ifneq ($(BUILD_XLIB),)
SUBPROJECTS += xlib
endif
ifneq ($(BUILD_XDPS),)
SUBPROJECTS += xdps
endif
ifneq ($(BUILD_WINLIB),)
SUBPROJECTS += winlib
endif
SUBPROJECTS = gsc $(BUILD_SERVER) $(BUILD_GRAPHICS)
libgnustep-$(BACKEND_NAME)_SUBPROJECTS=$(SUBPROJECTS)
libgnustep-$(BACKEND_NAME)_OBJC_FILES=GSBackend.m

View file

@ -50,6 +50,7 @@ ADDITIONAL_LIB_DIRS += $(GRAPHIC_LFLAGS)
# on having libraries specified).
#
libgnustep-$(BACKEND_NAME)_BUNDLE_LIBS = $(GRAPHIC_LIBS)
ifeq ($(BACKEND_BUNDLE),)
libgnustep-$(BACKEND_NAME)_LIBRARIES_DEPEND_UPON = $(GRAPHIC_LIBS)
endif

View file

@ -34,28 +34,15 @@
+ (void) initializeBackend;
@end
/* Call the correct initalization routines for the choosen
backend. This depends both on configuration data and defaults.
There is also a method to get a different backend class for different
configure parameters (so you could only load in the backend configurations
you wanted. But that is not implemented yet). */
#ifdef BUILD_X11
#if BUILD_SERVER == x11
#include <x11/XGServer.h>
#endif
#ifdef BUILD_XLIB
#include <xlib/XGContext.h>
#endif
#ifdef BUILD_XDPS
#include <xdps/NSDPSContext.h>
#endif
#ifdef BUILD_WIN32
#elif BUILD_SERVER == win32
#include <win32/WIN32Server.h>
#endif
#ifdef BUILD_WINLIB
#include <winlib/WIN32Context.h>
#endif
/* Call the correct initalization routines for the choosen
backend. This depends both on configuration data and defaults.
*/
@implementation GSBackend
+ (void) initializeBackend
@ -65,28 +52,18 @@
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
/* Load in only one server */
#ifdef BUILD_X11
#if BUILD_SERVER == x11
[XGServer initializeBackend];
#else
#ifdef BUILD_WIN32
#elif BUILD_SERVER == win32
[WIN32Server initializeBackend];
#else
[NSException raise: NSInternalInconsistencyException
format: @"No Window Server configured in backend"];
#endif
#endif
/* The way the frontend is currently structured
it's not possible to have more than one */
#ifdef BUILD_XDPS
context = @"xdps";
#endif
#ifdef BUILD_WINLIB
context = @"win32";
#endif
#ifdef BUILD_XLIB
context = @"xlib";
#endif
context = [NSString stringWithCString: STRINGIFY(BUILD_GRAPHICS)];
/* What backend context? */
if ([defs stringForKey: @"GSContext"])
@ -94,7 +71,9 @@
if ([context isEqual: @"xdps"])
contextClass = objc_get_class("NSDPSContext");
else if ([context isEqual: @"win32"])
else if ([context isEqual: @"art"])
contextClass = objc_get_class("ARTContext");
else if ([context isEqual: @"winlib"])
contextClass = objc_get_class("WIN32Context");
else
contextClass = objc_get_class("XGContext");

View file

@ -168,6 +168,7 @@ static unsigned int unique_index = 0;
GSIArrayEmpty((GSIArray)gstack);
NSZoneFree([self zone], gstack);
NSFreeMapTable(gtable);
DESTROY(gstate);
[super dealloc];
}

View file

@ -213,6 +213,7 @@ extern int XGErrorHandler(Display *display, XErrorEvent *err);
@end
/**
<unit>
<heading>XGServer</heading>

View file

@ -1984,7 +1984,7 @@ NSDebugLLog(@"Frame", @"X2O %d, %@, %@", win->number,
/* Temporary protocol until we standardize the backing buffer */
NSRect rect = NSMakeRect(rectangle.x, rectangle.y,
rectangle.width, rectangle.height);
[[GSCurrentServer() class] handleExposeRect: rect
[[GSCurrentContext() class] handleExposeRect: rect
forDriver: window->gdriver];
}
else
@ -2057,7 +2057,7 @@ NSDebugLLog(@"Frame", @"X2O %d, %@, %@", win->number,
if ((window->gdriverProtocol & GDriverHandlesBacking))
{
/* Temporary protocol until we standardize the backing buffer */
[[GSCurrentServer() class] handleExposeRect: rect
[[GSCurrentContext() class] handleExposeRect: rect
forDriver: window->gdriver];
}
else

View file

@ -1,19 +1,10 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to build the Win32 server */
#undef BUILD_WIN32
/* Define to type of graphics context to build */
#undef BUILD_GRAPHICS
/* Define to build Win32 graphics */
#undef BUILD_WINLIB
/* Define to build the X11 server */
#undef BUILD_X11
/* Define to build Xdps graphics */
#undef BUILD_XDPS
/* Define to build Xlib graphics */
#undef BUILD_XLIB
/* Define to type of window server to build */
#undef BUILD_SERVER
/* Define to 1 if you have the <DPS/dpsclient.h> header file. */
#undef HAVE_DPS_DPSCLIENT_H
@ -84,5 +75,8 @@
/* Define if you have libwraster */
#undef WITH_WRASTER
/* Define if you have X11/extensions/XShm.h */
#undef XSHM
/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING

View file

@ -10,11 +10,9 @@ GRAPHIC_CFLAGS=@GRAPHIC_CFLAGS@
GRAPHIC_LFLAGS=@GRAPHIC_LFLAGS@
X_PRE_LIBS=@X_PRE_LIBS@
BUILD_XLIB=@BUILD_XLIB@
BUILD_XDPS=@BUILD_XDPS@
BUILD_X11=@BUILD_X11@
BUILD_WIN32=@BUILD_WIN32@
BUILD_WINLIB=@BUILD_WINLIB@
BUILD_SERVER=@BUILD_SERVER@
BUILD_GRAPHICS=@BUILD_GRAPHICS@
BACKEND_NAME=@BACKEND_NAME@

537
configure vendored
View file

@ -832,19 +832,16 @@ Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-xim Disable XIM support
--enable-xlib Build xlib graphics context
--enable-xdps Build xdps graphics context
--enable-x11 Build x11 server
--enable-win32 Build win32 server
--enable-winlib Build win32 graphics context
--enable-server=SRV Build server type: x11, win32
--enable-graphics=GPH Build graphics: xlib, xdps, winlib, art
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-wraster=PREFIX get-wraster-flags directory prefix
--with-library-flags=fg Library flags for libraries
--with-include-flags=fg Include flags
--with-x use the X Window System
--with-dps-library=DIR DPS library file are in DIR
--with-dps-include=DIR DPS include files are in DIR
--with-jpeg-library=DIR JPEG library file are in DIR
--with-jpeg-include=DIR JPEG include files are in DIR
--with-tiff-library=DIR TIFF library file are in DIR
@ -1250,106 +1247,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
#--------------------------------------------------------------------
# Determine the host, build, and target systems
#--------------------------------------------------------------------
# Make sure we can run config.sub.
$ac_config_sub sun4 >/dev/null 2>&1 ||
{ { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
echo "$as_me: error: cannot run $ac_config_sub" >&2;}
{ (exit 1); exit 1; }; }
echo "$as_me:$LINENO: checking build system type" >&5
echo $ECHO_N "checking build system type... $ECHO_C" >&6
if test "${ac_cv_build+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_build_alias=$build_alias
test -z "$ac_cv_build_alias" &&
ac_cv_build_alias=`$ac_config_guess`
test -z "$ac_cv_build_alias" &&
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
{ { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $ac_cv_build" >&5
echo "${ECHO_T}$ac_cv_build" >&6
build=$ac_cv_build
build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$as_me:$LINENO: checking host system type" >&5
echo $ECHO_N "checking host system type... $ECHO_C" >&6
if test "${ac_cv_host+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_host_alias=$host_alias
test -z "$ac_cv_host_alias" &&
ac_cv_host_alias=$ac_cv_build_alias
ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
{ { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $ac_cv_host" >&5
echo "${ECHO_T}$ac_cv_host" >&6
host=$ac_cv_host
host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$as_me:$LINENO: checking target system type" >&5
echo $ECHO_N "checking target system type... $ECHO_C" >&6
if test "${ac_cv_target+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_target_alias=$target_alias
test "x$ac_cv_target_alias" = "x" &&
ac_cv_target_alias=$ac_cv_host_alias
ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
{ { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $ac_cv_target" >&5
echo "${ECHO_T}$ac_cv_target" >&6
target=$ac_cv_target
target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
#--------------------------------------------------------------------
# The following is so that headers and custom libraries
# in the GNUstep root are used before the standard ones
#--------------------------------------------------------------------
# Set location of GNUstep dirs for later use
GNUSTEP_HDIR=$GNUSTEP_SYSTEM_ROOT/Headers
if test "$GNUSTEP_FLATTENED" = yes; then
GNUSTEP_LDIR=$GNUSTEP_SYSTEM_ROOT/Libraries
else
clean_target_os=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_os.sh $target_os`
clean_target_cpu=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_cpu.sh $target_cpu`
obj_dir=$clean_target_cpu/$clean_target_os
GNUSTEP_LDIR=$GNUSTEP_SYSTEM_ROOT/Libraries/$obj_dir
fi
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_HDIR"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LDIR/$LIBRARY_COMBO -L$GNUSTEP_LDIR"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -2108,6 +2005,105 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Make sure we can run config.sub.
$ac_config_sub sun4 >/dev/null 2>&1 ||
{ { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
echo "$as_me: error: cannot run $ac_config_sub" >&2;}
{ (exit 1); exit 1; }; }
echo "$as_me:$LINENO: checking build system type" >&5
echo $ECHO_N "checking build system type... $ECHO_C" >&6
if test "${ac_cv_build+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_build_alias=$build_alias
test -z "$ac_cv_build_alias" &&
ac_cv_build_alias=`$ac_config_guess`
test -z "$ac_cv_build_alias" &&
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
{ { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $ac_cv_build" >&5
echo "${ECHO_T}$ac_cv_build" >&6
build=$ac_cv_build
build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$as_me:$LINENO: checking host system type" >&5
echo $ECHO_N "checking host system type... $ECHO_C" >&6
if test "${ac_cv_host+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_host_alias=$host_alias
test -z "$ac_cv_host_alias" &&
ac_cv_host_alias=$ac_cv_build_alias
ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
{ { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $ac_cv_host" >&5
echo "${ECHO_T}$ac_cv_host" >&6
host=$ac_cv_host
host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$as_me:$LINENO: checking target system type" >&5
echo $ECHO_N "checking target system type... $ECHO_C" >&6
if test "${ac_cv_target+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_target_alias=$target_alias
test "x$ac_cv_target_alias" = "x" &&
ac_cv_target_alias=$ac_cv_host_alias
ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
{ { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $ac_cv_target" >&5
echo "${ECHO_T}$ac_cv_target" >&6
target=$ac_cv_target
target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
#--------------------------------------------------------------------
# The following is so that headers and custom libraries
# in the GNUstep root are used before the standard ones
#--------------------------------------------------------------------
# Set location of GNUstep dirs for later use
GNUSTEP_HDIR=$GNUSTEP_SYSTEM_ROOT/Headers
if test "$GNUSTEP_FLATTENED" = yes; then
GNUSTEP_LDIR=$GNUSTEP_SYSTEM_ROOT/Libraries
else
clean_target_os=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_os.sh $target_os`
clean_target_cpu=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_cpu.sh $target_cpu`
obj_dir=$clean_target_cpu/$clean_target_os
GNUSTEP_LDIR=$GNUSTEP_SYSTEM_ROOT/Libraries/$obj_dir
fi
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_HDIR"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LDIR/$LIBRARY_COMBO -L$GNUSTEP_LDIR"
#--------------------------------------------------------------------
# Look for WindowMaker's wraster library
@ -2737,6 +2733,21 @@ if test $gs_cv_have_wraster = no; then
GRAPHIC_LFLAGS=
fi
# Check whether --with-library-flags or --without-library-flags was given.
if test "${with_library_flags+set}" = set; then
withval="$with_library_flags"
fi;
# Check whether --with-dps_include or --without-dps_include was given.
if test "${with_dps_include+set}" = set; then
withval="$with_dps_include"
fi;
GRAPHIC_LFLAGS="$GRAPHIC_LFLAGS $with_library_flags"
GRAPHIC_CFLAGS="$GRAPHIC_CFLAGS $with_include_flags"
#--------------------------------------------------------------------
# Find for X windows
#--------------------------------------------------------------------
@ -4060,36 +4071,10 @@ fi
#--------------------------------------------------------------------
# Find for DPS
#--------------------------------------------------------------------
# Check whether --with-dps_library or --without-dps_library was given.
if test "${with_dps_library+set}" = set; then
withval="$with_dps_library"
else
with_dps_library=
fi;
# Check whether --with-dps_include or --without-dps_include was given.
if test "${with_dps_include+set}" = set; then
withval="$with_dps_include"
else
with_dps_include=
fi;
# Add the target header file directory as an include path so that the
# check for dpsNXargs.h below looks at the appropriate target includes
ORIG_CPPFLAGS=${CPPFLAGS}
if test -n "$with_dps_include"; then
GRAPHIC_CFLAGS="-I$with_dps_include $GRAPHIC_CFLAGS"
fi
if test -n "$with_dps_library"; then
GRAPHIC_LFLAGS="-L$with_dps_library $GRAPHIC_LFLAGS"
fi
save_CPPFLAGS=${CPPFLAGS}
CPPFLAGS="${CPPFLAGS} ${GRAPHIC_CFLAGS}"
for ac_header in DPS/dpsclient.h DPS/dpsNXargs.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
@ -4203,9 +4188,7 @@ fi
done
# Restore back to the original
CPPFLAGS=${ORIG_CPPFLAGS}
CPPFLAGS="${save_CPPFLAGS}"
#--------------------------------------------------------------------
# Extended font support & UTF8 support
@ -4384,7 +4367,7 @@ if test "$have_xft" = yes -a "$ac_cv_header_X11_Xft_Xft_h" = yes; then
WITH_XFT=yes
cat >>confdefs.h <<\_ACEOF
#define HAVE_XFT
#define HAVE_XFT 1
_ACEOF
echo "$as_me:$LINENO: checking for XftDrawStringUtf8 in -lXft" >&5
@ -4451,7 +4434,7 @@ fi
if test "$have_utf8" = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_UTF8
#define HAVE_UTF8 1
_ACEOF
fi
@ -4473,7 +4456,7 @@ fi;
if test "x$enable_xim" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define USE_XIM
#define USE_XIM 1
_ACEOF
fi
@ -5064,6 +5047,10 @@ if test `eval echo '${'$as_ac_Header'}'` = yes; then
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define XSHM 1
_ACEOF
fi
done
@ -5138,6 +5125,133 @@ fi
CPPFLAGS="${save_header}"
LIBS="${save_libs}"
#--------------------------------------------------------------------
# libart graphics libraries
#--------------------------------------------------------------------
save_header=${CPPFLAGS}
save_libs=${LIBS}
CPPFLAGS="${GRAPHIC_CFLAGS} ${GRAPHIC_LFLAGS} ${CPPFLAGS}"
LIBS="${GRAPHIC_LIBS} ${LIBS}"
LIBART_LIBS=
echo "$as_me:$LINENO: checking for main in -lart_lgpl_2" >&5
echo $ECHO_N "checking for main in -lart_lgpl_2... $ECHO_C" >&6
if test "${ac_cv_lib_art_lgpl_2_main+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lart_lgpl_2 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
extern "C"
# endif
int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
main ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_art_lgpl_2_main=yes
else
echo "$as_me: failed program was:" >&5
cat conftest.$ac_ext >&5
ac_cv_lib_art_lgpl_2_main=no
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_art_lgpl_2_main" >&5
echo "${ECHO_T}$ac_cv_lib_art_lgpl_2_main" >&6
if test $ac_cv_lib_art_lgpl_2_main = yes; then
have_libart_lgpl_2=yes
else
have_libart_lgpl_2=no
fi
if test "$have_libart_lgpl_2" = yes; then
LIBART_LIBS="$LIBART_LIBS -lart_lgpl_2"
fi
echo "$as_me:$LINENO: checking for main in -lfreetype" >&5
echo $ECHO_N "checking for main in -lfreetype... $ECHO_C" >&6
if test "${ac_cv_lib_freetype_main+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lfreetype $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
extern "C"
# endif
int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
main ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_freetype_main=yes
else
echo "$as_me: failed program was:" >&5
cat conftest.$ac_ext >&5
ac_cv_lib_freetype_main=no
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_main" >&5
echo "${ECHO_T}$ac_cv_lib_freetype_main" >&6
if test $ac_cv_lib_freetype_main = yes; then
have_freetype=yes
else
have_freetype=no
fi
if test "$have_freetype" = yes; then
LIBART_LIBS="$LIBART_LIBS -lfreetype"
fi
CPPFLAGS="${save_header}"
LIBS="${save_libs}"
#--------------------------------------------------------------------
# Set definitions
#--------------------------------------------------------------------
@ -5145,7 +5259,7 @@ WITH_WRASTER=no
if test $gs_cv_have_wraster = yes -a $set_x_paths = no; then
cat >>confdefs.h <<\_ACEOF
#define WITH_WRASTER
#define WITH_WRASTER 1
_ACEOF
WITH_WRASTER=yes
@ -5158,123 +5272,57 @@ fi
#--------------------------------------------------------------------
# Which projects should we build?
#--------------------------------------------------------------------
exlib=no
exdps=no
ex11=no
ewin32=no
ewinlib=no
if test $gs_cv_have_wraster = yes -o "$x_includes" != "NONE"; then
exlib=yes
ex11=yes
BUILD_SERVER=x11
BUILD_GRAPHICS=xlib
if test "$have_gdi32" = yes; then
BUILD_SERVER=win32
BUILD_GRAPHICS=winlib
fi
# Check whether --enable-xlib or --disable-xlib was given.
if test "${enable_xlib+set}" = set; then
enableval="$enable_xlib"
# Check whether --enable-server or --disable-server was given.
if test "${enable_server+set}" = set; then
enableval="$enable_server"
else
enable_xlib=$exlib
enable_server=$BUILD_SERVER
fi;
# Check whether --enable-xdps or --disable-xdps was given.
if test "${enable_xdps+set}" = set; then
enableval="$enable_xdps"
# Check whether --enable-graphics or --disable-graphics was given.
if test "${enable_graphics+set}" = set; then
enableval="$enable_graphics"
else
enable_xdps=$exdps
fi;
# Check whether --enable-x11 or --disable-x11 was given.
if test "${enable_x11+set}" = set; then
enableval="$enable_x11"
else
enable_x11=$ex11
fi;
# Check whether --enable-win32 or --disable-win32 was given.
if test "${enable_win32+set}" = set; then
enableval="$enable_win32"
else
enable_xwin32=$exwin32
fi;
# Check whether --enable-winlib or --disable-winlib was given.
if test "${enable_winlib+set}" = set; then
enableval="$enable_winlib"
else
enable_xwinlib=$exwinlib
enable_graphics="$BUILD_GRAPHICS"
fi;
BUILD_SERVER=$enable_server
BUILD_GRAPHICS="$enable_graphics"
echo "$as_me:$LINENO: checking Backend Server" >&5
echo $ECHO_N "checking Backend Server... $ECHO_C" >&6
if test "x$enable_win32" = "xyes"; then
BUILD_WIN32=yes
cat >>confdefs.h <<\_ACEOF
#define BUILD_WIN32
cat >>confdefs.h <<_ACEOF
#define BUILD_SERVER $BUILD_SERVER
_ACEOF
echo "$as_me:$LINENO: result: win32" >&5
echo "${ECHO_T}win32" >&6
elif test "x$enable_x11" = "xyes"; then
BUILD_X11=yes
cat >>confdefs.h <<\_ACEOF
#define BUILD_X11
_ACEOF
echo "$as_me:$LINENO: result: x11" >&5
echo "${ECHO_T}x11" >&6
else
echo "$as_me:$LINENO: result: None" >&5
echo "${ECHO_T}None" >&6
{ { echo "$as_me:$LINENO: error: No Backend server configured. Report bug to bug-gnustep@gnu.org" >&5
echo "$as_me: error: No Backend server configured. Report bug to bug-gnustep@gnu.org" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "$as_me:$LINENO: result: $BUILD_SERVER" >&5
echo "${ECHO_T}$BUILD_SERVER" >&6
echo "$as_me:$LINENO: checking Backend Graphics" >&5
echo $ECHO_N "checking Backend Graphics... $ECHO_C" >&6
if test "x$enable_winlib" = "xyes"; then
BUILD_WINLIB=yes
cat >>confdefs.h <<\_ACEOF
#define BUILD_WINLIB
cat >>confdefs.h <<_ACEOF
#define BUILD_GRAPHICS $BUILD_GRAPHICS
_ACEOF
echo "$as_me:$LINENO: result: win32" >&5
echo "${ECHO_T}win32" >&6
enable_xdps=no
enable_xlib=no
elif test "x$enable_xdps" = "xyes"; then
BUILD_XDPS=yes
echo "$as_me:$LINENO: result: $BUILD_GRAPHICS" >&5
echo "${ECHO_T}$BUILD_GRAPHICS" >&6
cat >>confdefs.h <<\_ACEOF
#define BUILD_XDPS
_ACEOF
echo "$as_me:$LINENO: result: xdps" >&5
echo "${ECHO_T}xdps" >&6
if test x"$BUILD_GRAPHICS" = "xxdps"; then
GRAPHIC_LIBS="-ldpstk -ldps -lpsres -lXt $X_PRE_LIBS $GRAPHIC_LIBS"
enable_xlib=no
elif test "x$enable_xlib" = "xyes"; then
BUILD_XLIB=yes
cat >>confdefs.h <<\_ACEOF
#define BUILD_XLIB
_ACEOF
echo "$as_me:$LINENO: result: xlib" >&5
echo "${ECHO_T}xlib" >&6
else
echo "$as_me:$LINENO: result: None" >&5
echo "${ECHO_T}None" >&6
{ echo "$as_me:$LINENO: WARNING: No Backend graphics lib. Report bug to bug-gnustep@gnu.org" >&5
echo "$as_me: WARNING: No Backend graphics lib. Report bug to bug-gnustep@gnu.org" >&2;}
elif test x"$BUILD_GRAPHICS" = "xart"; then
BUILD_ART=yes
GRAPHIC_LIBS="$LIBART_LIBS $GRAPHIC_LIBS"
fi
#--------------------------------------------------------------------
@ -5853,6 +5901,13 @@ s,@ECHO_C@,$ECHO_C,;t t
s,@ECHO_N@,$ECHO_N,;t t
s,@ECHO_T@,$ECHO_T,;t t
s,@LIBS@,$LIBS,;t t
s,@CC@,$CC,;t t
s,@CFLAGS@,$CFLAGS,;t t
s,@LDFLAGS@,$LDFLAGS,;t t
s,@CPPFLAGS@,$CPPFLAGS,;t t
s,@ac_ct_CC@,$ac_ct_CC,;t t
s,@EXEEXT@,$EXEEXT,;t t
s,@OBJEXT@,$OBJEXT,;t t
s,@build@,$build,;t t
s,@build_cpu@,$build_cpu,;t t
s,@build_vendor@,$build_vendor,;t t
@ -5865,13 +5920,6 @@ s,@target@,$target,;t t
s,@target_cpu@,$target_cpu,;t t
s,@target_vendor@,$target_vendor,;t t
s,@target_os@,$target_os,;t t
s,@CC@,$CC,;t t
s,@CFLAGS@,$CFLAGS,;t t
s,@LDFLAGS@,$LDFLAGS,;t t
s,@CPPFLAGS@,$CPPFLAGS,;t t
s,@ac_ct_CC@,$ac_ct_CC,;t t
s,@EXEEXT@,$EXEEXT,;t t
s,@OBJEXT@,$OBJEXT,;t t
s,@CPP@,$CPP,;t t
s,@X_CFLAGS@,$X_CFLAGS,;t t
s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
@ -5882,11 +5930,8 @@ s,@WITH_WRASTER@,$WITH_WRASTER,;t t
s,@GRAPHIC_LIBS@,$GRAPHIC_LIBS,;t t
s,@GRAPHIC_CFLAGS@,$GRAPHIC_CFLAGS,;t t
s,@GRAPHIC_LFLAGS@,$GRAPHIC_LFLAGS,;t t
s,@BUILD_WIN32@,$BUILD_WIN32,;t t
s,@BUILD_X11@,$BUILD_X11,;t t
s,@BUILD_WINLIB@,$BUILD_WINLIB,;t t
s,@BUILD_XDPS@,$BUILD_XDPS,;t t
s,@BUILD_XLIB@,$BUILD_XLIB,;t t
s,@BUILD_SERVER@,$BUILD_SERVER,;t t
s,@BUILD_GRAPHICS@,$BUILD_GRAPHICS,;t t
s,@BACKEND_NAME@,$BACKEND_NAME,;t t
CEOF

View file

@ -39,6 +39,7 @@ AC_CONFIG_AUX_DIR($GNUSTEP_SYSTEM_ROOT/Makefiles)
#--------------------------------------------------------------------
# Determine the host, build, and target systems
#--------------------------------------------------------------------
AC_PROG_CC
AC_CANONICAL_TARGET([])
#--------------------------------------------------------------------
@ -58,8 +59,6 @@ fi
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_HDIR"
LDFLAGS="$LDFLAGS -L$GNUSTEP_LDIR/$LIBRARY_COMBO -L$GNUSTEP_LDIR"
AC_PROG_CC
#--------------------------------------------------------------------
# Look for WindowMaker's wraster library
#--------------------------------------------------------------------
@ -106,6 +105,13 @@ if test $gs_cv_have_wraster = no; then
GRAPHIC_LFLAGS=
fi
AC_ARG_WITH(library-flags,
[ --with-library-flags=fg Library flags for libraries])
AC_ARG_WITH(dps_include,
[ --with-include-flags=fg Include flags])
GRAPHIC_LFLAGS="$GRAPHIC_LFLAGS $with_library_flags"
GRAPHIC_CFLAGS="$GRAPHIC_CFLAGS $with_include_flags"
#--------------------------------------------------------------------
# Find for X windows
#--------------------------------------------------------------------
@ -151,28 +157,10 @@ AC_SUBST(X_PRE_LIBS)
#--------------------------------------------------------------------
# Find for DPS
#--------------------------------------------------------------------
AC_ARG_WITH(dps_library,
[ --with-dps-library=DIR DPS library file are in DIR], ,
with_dps_library=)
AC_ARG_WITH(dps_include,
[ --with-dps-include=DIR DPS include files are in DIR], ,
with_dps_include=)
# Add the target header file directory as an include path so that the
# check for dpsNXargs.h below looks at the appropriate target includes
ORIG_CPPFLAGS=${CPPFLAGS}
if test -n "$with_dps_include"; then
GRAPHIC_CFLAGS="-I$with_dps_include $GRAPHIC_CFLAGS"
fi
if test -n "$with_dps_library"; then
GRAPHIC_LFLAGS="-L$with_dps_library $GRAPHIC_LFLAGS"
fi
save_CPPFLAGS=${CPPFLAGS}
CPPFLAGS="${CPPFLAGS} ${GRAPHIC_CFLAGS}"
AC_CHECK_HEADERS([DPS/dpsclient.h DPS/dpsNXargs.h])
# Restore back to the original
CPPFLAGS=${ORIG_CPPFLAGS}
CPPFLAGS="${save_CPPFLAGS}"
#--------------------------------------------------------------------
# Extended font support & UTF8 support
@ -187,10 +175,10 @@ AC_CHECK_HEADER(X11/Xft/Xft.h)
if test "$have_xft" = yes -a "$ac_cv_header_X11_Xft_Xft_h" = yes; then
GRAPHIC_LIBS="-lXft ${GRAPHIC_LIBS}"
WITH_XFT=yes
AC_DEFINE(HAVE_XFT,,[Define if you have the Xft library])
AC_DEFINE(HAVE_XFT,1,[Define if you have the Xft library])
AC_CHECK_LIB(Xft, XftDrawStringUtf8, have_utf8=yes, have_utf8=no)
if test "$have_utf8" = yes; then
AC_DEFINE(HAVE_UTF8,,[Define if you have XftDrawStringUtf8])
AC_DEFINE(HAVE_UTF8,1,[Define if you have XftDrawStringUtf8])
fi
fi
CPPFLAGS="${save_header}"
@ -204,7 +192,7 @@ AC_ARG_ENABLE(xim,
[ --disable-xim Disable XIM support],,
enable_xim=yes)
if test "x$enable_xim" = "xyes"; then
AC_DEFINE(USE_XIM,,[Define to enable XIM support])
AC_DEFINE(USE_XIM,1,[Define to enable XIM support])
fi
#--------------------------------------------------------------------
@ -347,7 +335,8 @@ fi
save_CPPFLAGS=${CPPFLAGS}
CPPFLAGS="$CPPFLAGS $GRAPHIC_CFLAGS"
AC_CHECK_HEADERS(X11/extensions/XShm.h,,,
AC_CHECK_HEADERS(X11/extensions/XShm.h,
AC_DEFINE(XSHM,1,[Define if you have X11/extensions/XShm.h]),,
[#include <X11/Xlib.h>])
CPPFLAGS="$save_CPPFLAGS"
@ -365,12 +354,31 @@ fi
CPPFLAGS="${save_header}"
LIBS="${save_libs}"
#--------------------------------------------------------------------
# libart graphics libraries
#--------------------------------------------------------------------
save_header=${CPPFLAGS}
save_libs=${LIBS}
CPPFLAGS="${GRAPHIC_CFLAGS} ${GRAPHIC_LFLAGS} ${CPPFLAGS}"
LIBS="${GRAPHIC_LIBS} ${LIBS}"
LIBART_LIBS=
AC_CHECK_LIB(art_lgpl_2, main, have_libart_lgpl_2=yes, have_libart_lgpl_2=no)
if test "$have_libart_lgpl_2" = yes; then
LIBART_LIBS="$LIBART_LIBS -lart_lgpl_2"
fi
AC_CHECK_LIB(freetype, main, have_freetype=yes, have_freetype=no)
if test "$have_freetype" = yes; then
LIBART_LIBS="$LIBART_LIBS -lfreetype"
fi
CPPFLAGS="${save_header}"
LIBS="${save_libs}"
#--------------------------------------------------------------------
# Set definitions
#--------------------------------------------------------------------
WITH_WRASTER=no
if test $gs_cv_have_wraster = yes -a $set_x_paths = no; then
AC_DEFINE(WITH_WRASTER,,[Define if you have libwraster])
AC_DEFINE(WITH_WRASTER,1,[Define if you have libwraster])
WITH_WRASTER=yes
fi
AC_SUBST(WITH_WRASTER)
@ -381,71 +389,39 @@ AC_SUBST(GRAPHIC_LFLAGS)
#--------------------------------------------------------------------
# Which projects should we build?
#--------------------------------------------------------------------
exlib=no
exdps=no
ex11=no
ewin32=no
ewinlib=no
if test $gs_cv_have_wraster = yes -o "$x_includes" != "NONE"; then
exlib=yes
ex11=yes
BUILD_SERVER=x11
BUILD_GRAPHICS=xlib
if test "$have_gdi32" = yes; then
BUILD_SERVER=win32
BUILD_GRAPHICS=winlib
fi
AC_ARG_ENABLE(xlib,
[ --enable-xlib Build xlib graphics context],,
enable_xlib=$exlib)
AC_ARG_ENABLE(xdps,
[ --enable-xdps Build xdps graphics context],,
enable_xdps=$exdps)
AC_ARG_ENABLE(x11,
[ --enable-x11 Build x11 server],,
enable_x11=$ex11)
AC_ARG_ENABLE(win32,
[ --enable-win32 Build win32 server],,
enable_xwin32=$exwin32)
AC_ARG_ENABLE(winlib,
[ --enable-winlib Build win32 graphics context],,
enable_xwinlib=$exwinlib)
AC_ARG_ENABLE(server,
[ --enable-server=SRV Build server type: x11, win32],,
enable_server=$BUILD_SERVER)
AC_ARG_ENABLE(graphics,
[ --enable-graphics=GPH Build graphics: xlib, xdps, winlib, art],,
enable_graphics="$BUILD_GRAPHICS")
BUILD_SERVER=$enable_server
BUILD_GRAPHICS="$enable_graphics"
AC_MSG_CHECKING(Backend Server)
if test "x$enable_win32" = "xyes"; then
BUILD_WIN32=yes
AC_SUBST(BUILD_WIN32)
AC_DEFINE(BUILD_WIN32,,[Define to build the Win32 server])
AC_MSG_RESULT(win32)
elif test "x$enable_x11" = "xyes"; then
BUILD_X11=yes
AC_SUBST(BUILD_X11)
AC_DEFINE(BUILD_X11,,[Define to build the X11 server])
AC_MSG_RESULT(x11)
else
AC_MSG_RESULT(None)
AC_MSG_ERROR(No Backend server configured. Report bug to bug-gnustep@gnu.org)
fi
AC_SUBST(BUILD_SERVER)
AC_DEFINE_UNQUOTED(BUILD_SERVER,$BUILD_SERVER,
[Define to type of window server to build])
AC_MSG_RESULT($BUILD_SERVER)
AC_MSG_CHECKING(Backend Graphics)
if test "x$enable_winlib" = "xyes"; then
BUILD_WINLIB=yes
AC_SUBST(BUILD_WINLIB)
AC_DEFINE(BUILD_WINLIB,,[Define to build Win32 graphics])
AC_MSG_RESULT(win32)
enable_xdps=no
enable_xlib=no
elif test "x$enable_xdps" = "xyes"; then
BUILD_XDPS=yes
AC_SUBST(BUILD_XDPS)
AC_DEFINE(BUILD_XDPS,,[Define to build Xdps graphics])
AC_MSG_RESULT(xdps)
AC_SUBST(BUILD_GRAPHICS)
AC_DEFINE_UNQUOTED(BUILD_GRAPHICS,$BUILD_GRAPHICS,
[Define to type of graphics context to build])
AC_MSG_RESULT($BUILD_GRAPHICS)
if test x"$BUILD_GRAPHICS" = "xxdps"; then
GRAPHIC_LIBS="-ldpstk -ldps -lpsres -lXt $X_PRE_LIBS $GRAPHIC_LIBS"
enable_xlib=no
elif test "x$enable_xlib" = "xyes"; then
BUILD_XLIB=yes
AC_SUBST(BUILD_XLIB)
AC_DEFINE(BUILD_XLIB,,[Define to build Xlib graphics])
AC_MSG_RESULT(xlib)
else
AC_MSG_RESULT(None)
AC_MSG_WARN(No Backend graphics lib. Report bug to bug-gnustep@gnu.org)
elif test x"$BUILD_GRAPHICS" = "xart"; then
BUILD_ART=yes
GRAPHIC_LIBS="$LIBART_LIBS $GRAPHIC_LIBS"
fi
#--------------------------------------------------------------------