C source and build changes to drop wx frm GRacket

This commit is contained in:
Matthew Flatt 2010-05-31 15:18:42 -06:00
parent e0e3870a62
commit a574d9e7e4
17 changed files with 759 additions and 5204 deletions

2861
src/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -26,52 +26,28 @@ NOOP = :
# Common Macros #
###########################
CC = @CC@
CXX = @CXX@
LINKER = $(CXX)
LINKER = $(CC)
PERL = @PERL@
RANLIB = @RANLIB@
AR = @AR@
ARFLAGS = @ARFLAGS@
OPTIONS = @OPTIONS@ @MROPTIONS@
XINCLUDE = @X_CFLAGS@
XLIB = @X_LIBS@
LDLIBS = @X_PRE_LIBS@ -lXaw -lXmu -lXt -lX11 -lXext @X_EXTRA_LIBS@ @LIBS@
LDLIBS = @LIBS@
GCDIRECTORY = @GCDIR@
WBUILD = @WBUILD@
WXVARIANT = @WXVARIANT@
WXINC_wx_xt = -I$(PLTSRCDIR)/wxxt/src/AIAI-include -I$(PLTSRCDIR)/wxxt/src
WXINC_wx_mac = -I$(PLTSRCDIR)/wxmac/include/base -I$(PLTSRCDIR)/wxmac/include/mac -I$(PLTSRCDIR)/wxcommon -I$(PLTSRCDIR)/a-list/c-headers/
WXINC = $(WXINC_@WXVARIANT@)
NOGCINC = $(WXINC) -I$(PLTBUILDDIR)/racket/ -I$(PLTSRCDIR)/racket/include/
INC = -I$(PLTSRCDIR)/racket/$(GCDIRECTORY) $(NOGCINC)
CXXFLAGS = $(INC) $(XINCLUDE) $(OPTIONS) -D$(WXVARIANT) @COMPFLAGS@ @PROFFLAGS@ @CXXFLAGS@ @PREFLAGS@
CFLAGS = $(INC) $(XINCLUDE) $(OPTIONS) -D$(WXVARIANT) @COMPFLAGS@ @PROFFLAGS@ @CFLAGS@ @PREFLAGS@
LDFLAGS = @LDFLAGS@ $(XLIB)
CFLAGS = $(INC) $(OPTIONS) -D$(WXVARIANT) @COMPFLAGS@ @PROFFLAGS@ @CFLAGS@ @PREFLAGS@
LDFLAGS = @LDFLAGS@
ARLIBFLAGS = $(LDFLAGS) $(LDLIBS)
###########################
GRACKETLINKER = @GRACKETLINKER@
GRACKETLINKER = @MZLINKER@
JPEG_A = ../wxcommon/jpeg/libjpeg.@LIBSFX@
JPEG_INC = -I../wxcommon/jpeg -I$(srcdir)/../wxcommon/jpeg
ZLIB_A = ../wxcommon/zlib/libz.@LIBSFX@
ZLIB_INC = -I$(srcdir)/../wxcommon/zlib
PNG_A = ../wxcommon/libpng/libpng.@LIBSFX@
EXTRALDFLAGS_wx_xt =
EXTRALDFLAGS_wx_mac = -framework Carbon -framework Cocoa -framework QuickTime -framework AGL -framework OpenGL -lz
GRACKETLDFLAGS = $(LDFLAGS) $(EXTRALDFLAGS_@WXVARIANT@)
WXLIBS_wx_xt = ../wxxt/src/libwx_xt.@LIBSFX@ ../wxxt/contrib/xpm/lib/libXpm.@LIBSFX@ ../wxxt/utils/image/src/libimage_xt.@LIBSFX@
GRACKETX_wx_xt = gracketx.@LTO@
WXLIBS_wx_mac = ../wxmac/src/libwxmac.@LIBSFX@
GRACKETX_wx_mac = gracketmac.@LTO@ simpledrop.@LTO@
WXLIBSNORM = gracket.@LTO@ $(GRACKETX_@WXVARIANT@) wxGC.@LTO@ wxJPEG.@LTO@ wxs/libwxscheme.@LIBSFX@ $(WXLIBS_@WXVARIANT@) @JPEG_A@ @PNG_A@ @ZLIB_A@
WXLIBSDYN = libgracket.@LIBSFX@
GUILIBS_wx_xt = $(LDLIBS)
GUILIBS_wx_mac = @LIBS@
GRACKETLDLIBS = ../racket/libracket.@LIBSFX@ ../racket/libmzgc.@LIBSFX@ $(@WXLIBS@) $(GUILIBS_@WXVARIANT@)
GRACKETLDLIBS = ../racket/libracket.@LIBSFX@ ../racket/libmzgc.@LIBSFX@ $(LDLIBS)
LOCALFLAGS_wx_xt = @WX_MMD_FLAG@
LOCALFLAGS_wx_mac = -I$(srcdir)/../mac/racket -MMD -DWX_CARBON
@ -80,18 +56,12 @@ LOCALFLAGS = $(LOCALFLAGS_@WXVARIANT@)
GRACKETOBJECTS = grmain.@LTO@
RACKETDEPS = ../racket/libracket.@LIBSFX@ ../racket/libmzgc.@LIBSFX@
WXSCHEME = wxs/libwxscheme.@LIBSFX@
INSTALLDEST=/home/scheme/plt
MRSTATIC =
MRSTATIC_STUB =
WXINCDEP_wx_xt = $(WXDIR)/src/Windows/Window.h $(WXDIR)/src/Windows/Frame.h \
$(WXDIR)/src/DataStructures/Object.h
WXINCDEP_wx_mac =
WXINCDEP = $(WXINCDEP_@WXVARIANT@)
MZEXTRAEXPORT='GCDIR=$(GCDIRECTORY)'
LINKRESULT_wx_xt = gracket@CGC@
@ -102,46 +72,27 @@ bin:
$(MAKE) @MAIN_VARIANT@
3m:
$(MAKE) ext-libs
$(MAKE) @WXVARIANT@-min
cd wxs; $(MAKE) ccsources
cd gc2; $(MAKE) gen-deps
cd gc2; $(MAKE) 3m
cgc:
$(MAKE) ext-libs
$(MAKE) @WXVARIANT@
cd wxs; $(MAKE)
$(MAKE) $(LINKRESULT)
both:
$(MAKE) cgc
$(MAKE) 3m
ext-libs: @JPEG_A@ @PNG_A@ @ZLIB_A@
$(NOOP)
gracket@CGC@ : $(RACKETDEPS) grmain.@LTO@ $(GRACKETOBJECTS) $(@WXLIBS@) $(MRSTATIC_STUB)
gracket@CGC@ : $(RACKETDEPS) grmain.@LTO@ $(GRACKETOBJECTS) $(MRSTATIC_STUB)
$(GRACKETLINKER) $(GRACKETLDFLAGS) $(MRSTATIC) -o gracket@CGC@ $(GRACKETOBJECTS) $(GRACKETLDLIBS) $(MRSTATIC_STUB)
libgracket.@LIBSFX@: $(WXLIBSNORM)
$(AR) $(ARFLAGS) libgracket.@LIBSFX@ $(WXLIBSNORM) @LIBGRACKET_DEP@
MRFW = Racket.framework/Versions/$(FWVERSION)/Racket
MRAPPSKEL = GRacket@CGC@.app/Contents/MacOS
MRFW = GRacket.framework/Versions/$(FWVERSION)/GRacket
MRFWRES = GRacket.framework/Versions/$(FWVERSION)/Resources/GRacket.rsrc
GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@: $(MZFW) $(MRAPPSKEL) grmain.@LTO@
$(GRACKETLINKER) $(GRACKETLDFLAGS) -o GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@ grmain.@LTO@ -Wl,-headerpad_max_install_names -F../racket -framework Racket -framework CoreFoundation @PROFFLAGS@
/usr/bin/install_name_tool -change "Racket.framework/Versions/$(FWVERSION)/Racket" "@executable_path/../../../../racket/Racket.framework/Versions/$(FWVERSION)/Racket" GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@
$(MRFW) : $(RACKETDEPS) $(GRACKETOBJECTS) $(@WXLIBS@) $(MRSTATIC_STUB) $(MRFWRES)
$(GRACKETLINKER) $(GRACKETLDFLAGS) -dynamiclib -o $(MRFW) -Wl,-headerpad_max_install_names ../racket/libracket.@LIBSFX@ ../racket/libmzgc.@LIBSFX@ $(@WXLIBS@) $(GUILIBS_@WXVARIANT@) @X_EXTRA_LIBS@
GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@: $(MRFWRES) $(MRFW) grmain.@LTO@
$(GRACKETLINKER) $(GRACKETLDFLAGS) -o GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@ grmain.@LTO@ -Wl,-headerpad_max_install_names -F. -framework GRacket -framework Carbon -framework Cocoa @PROFFLAGS@
/usr/bin/install_name_tool -change "GRacket.framework/Versions/$(FWVERSION)/GRacket" "@executable_path/../../../GRacket.framework/Versions/$(FWVERSION)/GRacket" GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@
$(MRFWRES): $(srcdir)/../mac/osx_appl.rkt $(srcdir)/../mac/cw/GRacket.r
rm -rf GRacket.framework/Resources GRacket.framework/GRacket
$(MRAPPSKEL): $(srcdir)/../mac/osx_appl.rkt
env BUILDBASE=.. ../racket/racket@CGC@ -cqu $(srcdir)/../mac/osx_appl.rkt $(srcdir)/.. "@CGC@"
ln -s Versions/$(FWVERSION)/GRacket GRacket.framework/GRacket
ln -s Versions/$(FWVERSION)/Resources GRacket.framework/Resources
RACKET = ../racket/racket@CGC@
@ -157,99 +108,23 @@ solaris-static:
linux-static:
$(MAKE) gracket MRSTATIC=--static LDNONSTATICLIBS='-ldl'
wx_xt:
cd ../wxxt/src/x; $(MAKE)
wx_xt-min:
cd ../wxxt/src/x; $(MAKE) min
wx_mac:
cd ../wxmac/src; $(MAKE)
wx_mac-min:
cd ../wxmac/src; $(MAKE) min
gracket.@LTO@ : $(srcdir)/gracket.cxx \
$(srcdir)/wxs/wxscheme.h $(srcdir)/gracket.h \
$(srcdir)/../racket/include/scheme.h \
$(srcdir)/wxs/wxsgracket.h $(WXINCDEP) $(srcdir)/../wxcommon/wxGC.h \
$(srcdir)/../wxcommon/wx_list.h
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -c $(srcdir)/gracket.cxx -o gracket.@LTO@
DEF_COLLECTS_DIR = -DINITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../collects; pwd`"'"'
grmain.@LTO@ : $(srcdir)/grmain.cxx $(srcdir)/gracket.h $(srcdir)/wxs/wxsgracket.h \
grmain.@LTO@ : $(srcdir)/grmain.c $(srcdir)/../racket/main.c \
$(srcdir)/../racket/cmdline.inc $(srcdir)/../racket/src/stypes.h \
$(srcdir)/../racket/include/scheme.h
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) $(DEF_COLLECTS_DIR) -c $(srcdir)/grmain.cxx -o grmain.@LTO@
$(CC) $(LOCALFLAGS) $(CFLAGS) $(DEF_COLLECTS_DIR) -c $(srcdir)/grmain.c -o grmain.@LTO@
grmain_ee.@LTO@ : gracket.@LTO@
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -DSTANDALONE_WITH_EMBEDDED_EXTENSION $(DEF_COLLECTS_DIR) -c $(srcdir)/grmain.cxx -o grmain_ee.@LTO@
$(CC) $(LOCALFLAGS) $(CFLAGS) -DSTANDALONE_WITH_EMBEDDED_EXTENSION $(DEF_COLLECTS_DIR) -c $(srcdir)/grmain.cxx -o grmain_ee.@LTO@
ee-main:
$(MAKE) grmain_ee.@LTO@
gracketx.@LTO@ : $(srcdir)/gracketx.cxx $(srcdir)/../racket/include/scheme.h $(srcdir)/gracket.h \
$(WXINCDEP) \
$(srcdir)/../wxcommon/wxGC.h $(srcdir)/../wxcommon/wx_list.h \
$(srcdir)/../racket/src/stypes.h
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -c $(srcdir)/gracketx.cxx -o gracketx.@LTO@
gracketmac.@LTO@ : $(srcdir)/gracketmac.cxx $(srcdir)/../racket/include/scheme.h $(srcdir)/gracket.h \
$(srcdir)/../wxcommon/wxGC.h $(srcdir)/../wxcommon/wx_list.h \
$(srcdir)/../racket/src/stypes.h
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -c $(srcdir)/gracketmac.cxx -o gracketmac.@LTO@
wxGC.@LTO@ : $(srcdir)/../wxcommon/wxGC.cxx $(srcdir)/../wxcommon/wxGC.h \
$(srcdir)/../racket/src/stypes.h
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -c $(srcdir)/../wxcommon/wxGC.cxx -o wxGC.@LTO@
wxJPEG.@LTO@ : $(srcdir)/../wxcommon/wxJPEG.cxx $(srcdir)/../wxcommon/wxGC.h
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) @JPEG_INC@ @ZLIB_INC@ -c $(srcdir)/../wxcommon/wxJPEG.cxx -o wxJPEG.@LTO@
dl_stub.@LTO@: $(srcdir)/misc/dl_stub.c
$(CC) $(CFLAGS) $(LOCALFLAGS) -c $(srcdir)/misc/dl_stub.c -o dl_stub.@LTO@
simpledrop.@LTO@ : $(srcdir)/../mac/racket/simpledrop.cpp
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -o simpledrop.@LTO@ -c $(srcdir)/../mac/racket/simpledrop.cpp
sgilinkhack.@LTO@:
$(CXX) $(LOCALFLAGS) $(CXXFLAGS) -c $(srcdir)/misc/sgilinkhack.cxx -o sgilinkhack.@LTO@
$(WXDIR)/libwx_xt.@LIBSFX@:
$(MAKE) wx
../wxcommon/jpeg/libjpeg.@LIBSFX@:
cd ../wxcommon/jpeg; $(MAKE) libjpeg.@LIBSFX@ CC="$(CC)" AR="@STATIC_AR@ $(ARFLAGS)" AR2="$(RANLIB)"
../wxcommon/libpng/libpng.@LIBSFX@:
cd ../wxcommon/libpng; $(MAKE) libpng.@LIBSFX@
../wxcommon/zlib/libz.@LIBSFX@:
cd ../wxcommon/zlib; $(MAKE) libz.@LIBSFX@
CLEANDIR_wx_xt = ../wxxt/src/x
CLEANDIR_wx_mac = ../wxmac/src
clean:
cd $(CLEANDIR_@WXVARIANT@); $(MAKE) clean
rm -f *.@LTO@ *.d core gracket gracket3m
rm -f gc2/*.@LTO@ gc2/xsrc/* gc2/macxsrc/* gc2/*.d gc2/*.dd
rm -rf gc2/xform-collects
cd wxs; $(MAKE) clean
if [ -f ../wxcommon/jpeg/Makefile ] ; then cd ../wxcommon/jpeg; $(MAKE) clean ; fi
if [ -f ../wxcommon/libpng/Makefile ] ; then cd ../wxcommon/libpng; $(MAKE) clean ; fi
if [ -f ../wxcommon/zlib/Makefile ] ; then cd ../wxcommon/zlib; $(MAKE) clean ; fi
rm -f $(WXLIBS_@WXVARIANT@)
$(MAKE) clean_@WXVARIANT@
clean_wx_xt:
echo clean done
clean_wx_mac:
rm -rf GRacket.framework GRacket@CGC@.app Starter.app GRacket@MMM@.app GRacket.rsrc.OSX
rm -rf gc2/GRacket.framework gc2/GRacket.rsrc.OSX gc2/*.pfe gc2/macxsrc/*
echo clean done
ICP=@ICP@
BUILDINFO="$(DESTDIR)$(libpltdir)/buildinfo"
@ -282,11 +157,7 @@ install-post-collects:
install-common:
cd ..; rm -f "$(DESTDIR)$(bindir)/gracket@CGC_INSTALLED@"
cd ..; rm -f "$(DESTDIR)$(bindir)/gracket@MMM_INSTALLED@"
cd ..; echo 'CXX=@CXX@' >> $(BUILDINFO)
cd ..; echo 'CXXFLAGS=@CXXFLAGS@ @PREFLAGS@ @COMPFLAGS@' >> $(BUILDINFO)
cd ..; echo 'MROPTIONS=@MROPTIONS@' >> $(BUILDINFO)
cd ..; echo 'X_CFLAGS=@X_CFLAGS@' >> $(BUILDINFO)
cd ..; echo 'X_LIB=@X_LIBS@' >> $(BUILDINFO)
cd ..; echo "MRLIBS=$(GUILIBS_@WXVARIANT@)" >> $(BUILDINFO)
cd ..; echo "MRLDFLAGS=$(GRACKETLDFLAGS)" >> $(BUILDINFO)
@ -300,7 +171,7 @@ install-no-lib-cgc-wx_xt:
echo "no dynamic libs"
install-lib-cgc-wx_xt:
cd ..; $(ICP) gracket/libgracket.@LIBSFX@ "$(DESTDIR)$(libdir)"
$(NOOP)
install-wx_xt-cgc:
$(MAKE) @MRLIBINSTALL@-cgc-wx_xt
@ -314,7 +185,7 @@ install-no-lib-3m-wx_xt:
echo "no dynamic libs"
install-lib-3m-wx_xt:
cd ..; $(ICP) gracket/libgracket3m.@LIBSFX@ "$(DESTDIR)$(libdir)"
$(NOOP)
install-wx_xt-3m:
$(MAKE) @MRLIBINSTALL@-3m-wx_xt
@ -329,46 +200,31 @@ install-wx_xt-post-collects:
# Mac OS X ----------------------------------------
MRFWDIR = @FRAMEWORK_INSTALL_DIR@/GRacket.framework
FRAMEWORK_REL_PREFIX="@executable_path/../../../lib/"
install-wx_mac:
rm -rf $(MRFWDIR)/Versions/$(FWVERSION)
rm -rf $(MRFWDIR)/Versions/$(FWVERSION)_3m
rm -f $(MRFWDIR)/GRacket
rm -rf $(MRFWDIR)/Resources
cd ..; rm -rf "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app"
cd ..; rm -rf "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app"
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then rm -rf $(MRFWDIR) ; fi
mkdir -p "@FRAMEWORK_INSTALL_DIR@"
install-wx_mac-cgc:
mkdir -p "$(MRFWDIR)/Versions/$(FWVERSION)"
cd ..; $(ICP) -r gracket/GRacket@CGC@.app "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app"
$(RACKET) -cqu "$(srcdir)/../mac/rename-app.rkt" "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app" "GRacket@CGC@" "GRacket@CGC_CAP_INSTALLED@"
$(ICP) GRacket.framework/Versions/$(FWVERSION)/GRacket $(MRFWDIR)/Versions/$(FWVERSION)/GRacket
$(ICP) -r GRacket.framework/Versions/$(FWVERSION)/Resources $(MRFWDIR)/Versions/$(FWVERSION)/Resources
/usr/bin/install_name_tool -change "@executable_path/../../../GRacket.framework/Versions/$(FWVERSION)/GRacket" "@FRAMEWORK_PREFIX@GRacket.framework/Versions/$(FWVERSION)/GRacket" "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app/Contents/MacOS/GRacket@CGC_CAP_INSTALLED@"
/usr/bin/install_name_tool -change "@executable_path/../../../Racket.framework/Versions/$(FWVERSION)/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)/Racket" "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app/Contents/MacOS/GRacket@CGC_CAP_INSTALLED@"
$(RACKET) -cu "$(srcdir)/../racket/collects-path.rkt" "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app/Contents/MacOS/GRacket@CGC_CAP_INSTALLED@" ../../../collects
@STRIP_DEBUG@ "$(prefix)/GRacket@CGC_CAP_INSTALLED@.app/Contents/MacOS/GRacket@CGC_CAP_INSTALLED@"
install-wx_mac-cgc-final:
ln -s Versions/$(FWVERSION)/GRacket $(MRFWDIR)/
ln -s Versions/$(FWVERSION)/Resources $(MRFWDIR)/
$(NOOP)
install-wx_mac-3m:
mkdir -p "$(MRFWDIR)/Versions/$(FWVERSION)_3m"
cd ..; $(ICP) -r "gracket/GRacket@MMM@.app" "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app"
$(RACKET) -cqu "$(srcdir)/../mac/rename-app.rkt" "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app" "GRacket@MMM@" "GRacket@MMM_CAP_INSTALLED@"
$(ICP) "GRacket.framework/Versions/$(FWVERSION)_3m/GRacket" "$(MRFWDIR)/Versions/$(FWVERSION)_3m/GRacket"
$(ICP) -r "GRacket.framework/Versions/$(FWVERSION)_3m/Resources" "$(MRFWDIR)/Versions/$(FWVERSION)_3m/Resources"
/usr/bin/install_name_tool -change "@executable_path/../../../GRacket.framework/Versions/$(FWVERSION)_3m/GRacket" "@FRAMEWORK_PREFIX@GRacket.framework/Versions/$(FWVERSION)_3m/GRacket" "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app/Contents/MacOS/GRacket@MMM_CAP_INSTALLED@"
/usr/bin/install_name_tool -change "@executable_path/../../../Racket.framework/Versions/$(FWVERSION)_3m/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_3m/Racket" "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app/Contents/MacOS/GRacket@MMM_CAP_INSTALLED@"
$(RACKET) -cu "$(srcdir)/../racket/collects-path.rkt" "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app/Contents/MacOS/GRacket@MMM_CAP_INSTALLED@" "../../../collects"
@STRIP_DEBUG@ "$(prefix)/GRacket@MMM_CAP_INSTALLED@.app/Contents/MacOS/GRacket@MMM_CAP_INSTALLED@"
install-wx_mac-3m-final:
ln -s Versions/$(FWVERSION)_3m/GRacket $(MRFWDIR)/
ln -s Versions/$(FWVERSION)_3m/Resources $(MRFWDIR)/
$(NOOP)
install-wx_mac-post-collects:
cd ..; rm -rf $(collectsdir)/launcher/Starter.app
@ -376,8 +232,4 @@ install-wx_mac-post-collects:
cd ..; $(ICP) -r gracket/Starter.app $(collectsdir)/launcher/.
@INCLUDEDEP@ wxGC.d
@INCLUDEDEP@ wxJPEG.d
@INCLUDEDEP@ gracket.d
@INCLUDEDEP@ gracketmac.d
@INCLUDEDEP@ grmain.d

File diff suppressed because it is too large Load Diff

565
src/gracket/grmain.c Normal file
View File

@ -0,0 +1,565 @@
/*
* File: mred.c
* Purpose: GRacket main file, including a hodge-podge of global stuff
* Author: Matthew Flatt
* Created: 1995
* Copyright: (c) 2004-2010 PLT Scheme Inc.
* Copyright: (c) 1995-2000, Matthew Flatt
*/
#ifdef WIN32
/* Hack: overwrite "y" with "n" in binary to disable checking for another
instance of the same app. */
char *check_for_another = "yes, please check for another";
static int wx_in_terminal = 0;
# define MZ_DEFINE_UTF8_MAIN
#endif
#ifdef wx_x
# define INIT_FILENAME "~/.gracketrc"
#else
# ifdef WIN32
# define INIT_FILENAME "%%HOMEDIRVE%%\\%%HOMEPATH%%\\gracketrc.rktd"
# else
# ifdef OS_X
# define INIT_FILENAME "~/.gracketrc"
# else
# define INIT_FILENAME "PREFERENCES:gracketrc.rktd"
# endif
# endif
#endif
#define GET_INIT_FILENAME get_init_filename
#if WIN32
# define NEED_CONSOLE_PRINTF
# define DEFER_EXPLICIT_EXIT
#else
# define PRINTF printf
#endif
#define PROGRAM "GRacket"
#define PROGRAM_LC "gracket"
#define INITIAL_BIN_TYPE "ri"
#define CMDLINE_STDIO_FLAG
#define YIELD_BEFORE_EXIT
#define INITIAL_NAMESPACE_MODULE "scheme/gui/init"
#define GRAPHICAL_REPL
static void yield_indefinitely();
# include "../racket/main.c"
static void yield_indefinitely()
{
#ifdef MZ_PRECISE_GC
void *dummy;
#endif
mz_jmp_buf * volatile save, newbuf;
Scheme_Thread * volatile p;
Scheme_Object *a[2], *yld;
p = scheme_get_current_thread();
save = p->error_buf;
p->error_buf = &newbuf;
if (!scheme_setjmp(newbuf)) {
a[0] = scheme_intern_symbol("mred/mred");
a[1] = scheme_intern_symbol("yield");
yld = scheme_dynamic_require(2, a);
a[0] = scheme_intern_symbol("wait");
scheme_apply(yld, 1, a);
}
p->error_buf = save;
#ifdef MZ_PRECISE_GC
dummy = NULL; /* makes xform think that dummy is live, so we get a __gc_var_stack__ */
#endif
}
#ifdef WIN32
static void MrEdSchemeMessages(char *, ...);
static Scheme_Object *stdin_pipe;
static HANDLE console_out;
static HANDLE console_in;
static Scheme_Object *console_inport;
static HWND console_hwnd;
static int has_stdio, stdio_kills_prog;
static HANDLE waiting_sema;
typedef HWND (WINAPI* gcw_proc)();
static void init_console_in()
{
if (!console_in) {
console_in = GetStdHandle(STD_INPUT_HANDLE);
MZ_REGISTER_STATIC(console_inport);
console_inport = scheme_make_fd_input_port((int)console_in, scheme_intern_symbol("stdin"), 0, 0);
}
}
static BOOL WINAPI ConsoleHandler(DWORD op)
{
if (stdio_kills_prog) {
ReleaseSemaphore(waiting_sema, 1, NULL);
} else {
scheme_break_main_thread();
scheme_signal_received();
}
return TRUE;
}
static void WaitOnConsole()
{
DWORD wrote;
stdio_kills_prog = 1;
if (console_hwnd) {
AppendMenu(GetSystemMenu(console_hwnd, FALSE),
MF_STRING,
SC_CLOSE,
"Close");
/* Un-gray the close box: */
RedrawWindow(console_hwnd, NULL, NULL,
RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW);
}
WriteConsole(console_out, "\n[Exited. Close box or Ctrl-C closes the console.]\n", 51, &wrote, NULL);
WaitForSingleObject(waiting_sema, INFINITE);
}
static void MrEdSchemeMessages(char *msg, ...)
{
GC_CAN_IGNORE va_list args;
scheme_start_atomic();
XFORM_HIDE_EXPR(va_start(args, msg));
if (!console_out) {
AllocConsole();
console_out = GetStdHandle(STD_OUTPUT_HANDLE);
if (!wx_in_terminal) {
has_stdio = 1;
waiting_sema = CreateSemaphore(NULL, 0, 1, NULL);
SetConsoleCtrlHandler(ConsoleHandler, TRUE);
{
HMODULE hm;
gcw_proc gcw;
hm = LoadLibrary("kernel32.dll");
if (hm)
gcw = (gcw_proc)GetProcAddress(hm, "GetConsoleWindow");
else
gcw = NULL;
if (gcw)
console_hwnd = gcw();
}
if (console_hwnd) {
EnableMenuItem(GetSystemMenu(console_hwnd, FALSE), SC_CLOSE,
MF_BYCOMMAND | MF_GRAYED);
RemoveMenu(GetSystemMenu(console_hwnd, FALSE), SC_CLOSE, MF_BYCOMMAND);
}
}
}
if (!msg) {
char *s;
long l, d;
DWORD wrote;
s = va_arg(args, char*);
d = va_arg(args, long);
l = va_arg(args, long);
WriteConsole(console_out, s XFORM_OK_PLUS d, l, &wrote, NULL);
} else {
char *buffer;
DWORD wrote;
buffer = (char *)malloc(5 * strlen(msg));
vsprintf(buffer, msg, args);
WriteConsole(console_out, buffer, strlen(buffer), &wrote, NULL);
free(buffer);
}
scheme_end_atomic_no_swap();
XFORM_HIDE_EXPR(va_end(args));
}
static void MrEdSchemeMessagesOutput(char *s, long l)
{
if (l)
MrEdSchemeMessages(NULL, s, 0, l);
}
static Scheme_Object *console_reading;
static void add_console_reading()
{
Scheme_Thread *thread;
thread = scheme_get_current_thread();
if (!console_reading) {
MZ_REGISTER_STATIC(console_reading);
console_reading = scheme_make_null();
}
console_reading = scheme_make_pair((Scheme_Object *)thread,
console_reading);
}
static void remove_console_reading()
{
Scheme_Object *p, *prev = NULL;
Scheme_Thread *thread;
thread = scheme_get_current_thread();
if (!console_reading)
return;
p = console_reading;
while (SCHEME_PAIRP(p)) {
if (SAME_OBJ(SCHEME_CAR(p), (Scheme_Object *)thread)) {
if (prev)
SCHEME_CDR(prev) = SCHEME_CDR(p);
else
console_reading = SCHEME_CDR(p);
return;
}
prev = p;
p = SCHEME_CDR(p);
}
}
static void break_console_reading_threads()
{
Scheme_Object *p;
if (!console_reading)
return;
for (p = console_reading; SCHEME_PAIRP(p); p = SCHEME_CDR(p)) {
scheme_break_thread((Scheme_Thread *)SCHEME_CAR(p));
}
}
static long mrconsole_get_string(Scheme_Input_Port *ip,
char *buffer, long offset, long size,
int nonblock, Scheme_Object *unless)
{
long result;
Scheme_Object *pipe = (Scheme_Object *)ip->port_data;
MrEdSchemeMessages("");
init_console_in();
pipe = console_inport;
add_console_reading();
result = scheme_get_byte_string_unless("console get-string", pipe,
buffer, offset, size,
nonblock, 0, NULL,
unless);
remove_console_reading();
return result;
}
static Scheme_Object *mrconsole_progress_evt(Scheme_Input_Port *ip)
{
Scheme_Object *pipe = (Scheme_Object *)ip->port_data;
MrEdSchemeMessages("");
init_console_in();
pipe = console_inport;
return scheme_progress_evt(pipe);
}
static int mrconsole_peeked_read(Scheme_Input_Port *ip,
long amount,
Scheme_Object *unless,
Scheme_Object *target_ch)
{
Scheme_Object *pipe = (Scheme_Object *)ip->port_data;
MrEdSchemeMessages("");
init_console_in();
pipe = console_inport;
return scheme_peeked_read(pipe, amount, unless, target_ch);
}
static int mrconsole_char_ready(Scheme_Input_Port *ip)
{
Scheme_Object *pipe = (Scheme_Object *)ip->port_data;
MrEdSchemeMessages("");
init_console_in();
pipe = console_inport;
return scheme_char_ready(pipe);
}
static void mrconsole_close(Scheme_Input_Port *ip)
{
Scheme_Object *pipe = (Scheme_Object *)ip->port_data;
init_console_in();
pipe = console_inport;
scheme_close_input_port(pipe);
}
static Scheme_Object *MrEdMakeStdIn(void)
{
Scheme_Object *readp;
Scheme_Input_Port *ip;
MZ_REGISTER_STATIC(stdin_pipe);
scheme_pipe(&readp, &stdin_pipe);
ip = scheme_make_input_port(scheme_make_port_type("mred-console-input-port"),
readp,
scheme_intern_symbol("mred-console"),
mrconsole_get_string,
NULL,
mrconsole_progress_evt,
mrconsole_peeked_read,
mrconsole_char_ready,
mrconsole_close,
NULL,
0);
return (Scheme_Object *)ip;
}
static long stdout_write(Scheme_Output_Port*op, const char *s, long d, long l,
int rarely_block, int enable_break)
{
if (l)
MrEdSchemeMessages(NULL, s, d, l);
return l;
}
static Scheme_Object *MrEdMakeStdOut(void)
{
Scheme_Object *outtype;
outtype = scheme_make_port_type("stdout");
return (Scheme_Object *)scheme_make_output_port(outtype, NULL,
scheme_intern_symbol("mred-console"),
scheme_write_evt_via_write,
stdout_write,
NULL, NULL, NULL, NULL, NULL, 0);
}
static long stderr_write(Scheme_Output_Port*op, const char *s, long d, long l,
int rarely_block, int enable_break)
{
if (l)
MrEdSchemeMessages(NULL, s, d, l);
return l;
}
static Scheme_Object *MrEdMakeStdErr(void)
{
Scheme_Object *errtype;
errtype = scheme_make_port_type("stderr");
return (Scheme_Object *)scheme_make_output_port(errtype, NULL,
scheme_intern_symbol("mred-console"),
scheme_write_evt_via_write,
stderr_write,
NULL, NULL, NULL, NULL, NULL, 0);
}
static void MrEdExit(int v)
{
if (has_stdio) {
WaitOnConsole();
}
scheme_immediate_exit(v);
}
# ifdef MZ_PRECISE_GC
START_XFORM_SKIP;
# endif
char *wchar_to_char(wchar_t *wa, int len)
{
char *a;
int l;
l = scheme_utf8_encode((unsigned int *)wa, 0, len,
NULL, 0,
1 /* UTF-16 */);
a = (char *)malloc(l + 1);
scheme_utf8_encode((unsigned int *)wa, 0, len,
(unsigned char *)a, 0,
1 /* UTF-16 */);
a[l] = 0;
return a;
}
static int parse_command_line(char ***_command, char *buf)
{
GC_CAN_IGNORE unsigned char *parse, *created, *write;
int maxargs;
int findquote = 0;
char **command;
int count = 0;
maxargs = 49;
command = (char **)malloc((maxargs + 1) * sizeof(char *));
parse = created = write = (unsigned char *)buf;
while (*parse) {
while (*parse && isspace(*parse)) { parse++; }
while (*parse && (!isspace(*parse) || findquote)) {
if (*parse== '"') {
findquote = !findquote;
} else if (*parse== '\\') {
GC_CAN_IGNORE unsigned char *next;
for (next = parse; *next == '\\'; next++) { }
if (*next == '"') {
/* Special handling: */
int count = (next - parse), i;
for (i = 1; i < count; i += 2) {
*(write++) = '\\';
}
parse += (count - 1);
if (count & 0x1) {
*(write++) = '\"';
parse++;
}
} else
*(write++) = *parse;
} else
*(write++) = *parse;
parse++;
}
if (*parse)
parse++;
*(write++) = 0;
if (*created) {
command[count++] = (char *)created;
if (count == maxargs) {
char **c2;
c2 = (char **)malloc(((2 * maxargs) + 1) * sizeof(char *));
memcpy(c2, command, maxargs * sizeof(char *));
maxargs *= 2;
}
}
created = write;
}
command[count] = NULL;
*_command = command;
return count;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ignored, int nCmdShow)
{
LPWSTR m_lpCmdLine;
int j, argc, l;
char *a, **argv, *normalized_path;
/* Order matters: load dependencies first */
# ifndef MZ_PRECISE_GC
load_delayed_dll(NULL, "libmzgcxxxxxxx.dll");
# endif
load_delayed_dll(NULL, "libmzsch" DLL_3M_SUFFIX "xxxxxxx.dll");
record_dll_path();
{
HANDLE h;
h = GetStdHandle(STD_OUTPUT_HANDLE);
if (h && (h != INVALID_HANDLE_VALUE)
&& (GetFileType(h) != FILE_TYPE_UNKNOWN)) {
wx_in_terminal = 1;
}
}
/* Get command line: */
m_lpCmdLine = GetCommandLineW();
for (j = 0; m_lpCmdLine[j]; j++) {
}
a = wchar_to_char(m_lpCmdLine, j);
argc = parse_command_line(&argv, a);
/* argv[0] should be the name of the executable, but Windows doesn't
specify really where this name comes from, so we get it from
GetModuleFileName, just in case */
{
int name_len = 1024;
while (1) {
wchar_t *my_name;
my_name = (wchar_t *)malloc(sizeof(wchar_t) * name_len);
l = GetModuleFileNameW(NULL, my_name, name_len);
if (!l) {
name_len = GetLastError();
free(my_name);
my_name = NULL;
break;
} else if (l < name_len) {
a = wchar_to_char(my_name, l);
argv[0] = a;
{
/* CharLowerBuff doesn't work with unicows.dll -- strange.
So we use CharLower, instead. */
int i;
for (i = 0; i < l; i++) {
CharLowerW(my_name XFORM_OK_PLUS i);
}
}
normalized_path = wchar_to_char(my_name, l);
free(my_name);
break;
} else {
free(my_name);
name_len = name_len * 2;
}
}
}
if (!wx_in_terminal) {
scheme_set_stdio_makers(MrEdMakeStdIn,
MrEdMakeStdOut,
MrEdMakeStdErr);
scheme_set_console_output(MrEdSchemeMessagesOutput);
}
scheme_set_console_printf(MrEdSchemeMessages);
scheme_set_exit(MrEdExit);
j = main(argc, argv);
MrEdExit(j);
/* shouldn't get here */
return j;
}
# ifdef MZ_PRECISE_GC
END_XFORM_SKIP;
# endif
#if _MSC_VER >= 1400
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif

View File

@ -111,7 +111,9 @@ extern "C" Scheme_Object *scheme_initialize(Scheme_Env *env);
# endif
#endif
#define GET_INIT_FILENAME get_init_filename
#if REDIRECT_STDIO || WINDOW_STDIO || WCONSOLE_STDIO
#if wx_msw
# define NEED_MRED_EXIT
static void MrEdExit(int v);
# define PRINTF mred_console_printf
# define CMDLINE_FFLUSH(x) /* nothing */
static void (*mred_console_printf)(char *str, ...);
@ -459,88 +461,17 @@ static int parse_command_line(char ***_command, char *buf)
return count;
}
static char *CreateUniqueName()
{
char desktop[MAX_PATH], session[32], *together;
int dlen, slen;
{
// Name should be desktop unique, so add current desktop name
HDESK hDesk;
ULONG cchDesk = MAX_PATH - 1;
hDesk = GetThreadDesktop(GetCurrentThreadId());
if (!GetUserObjectInformation( hDesk, UOI_NAME, desktop, cchDesk, &cchDesk))
desktop[0] = 0;
else
desktop[MAX_PATH - 1] = 0;
}
{
// Name should be session unique, so add current session id
HANDLE hToken = NULL;
// Try to open the token (fails on Win9x) and check necessary buffer size
if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) {
DWORD cbBytes = 0;
if(!GetTokenInformation( hToken, TokenStatistics, NULL, cbBytes, &cbBytes )
&& GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
PTOKEN_STATISTICS pTS;
pTS = (PTOKEN_STATISTICS)malloc(cbBytes);
if(GetTokenInformation(hToken, TokenStatistics, (LPVOID)pTS, cbBytes, &cbBytes)) {
sprintf(session, "-%08x%08x-",
pTS->AuthenticationId.HighPart,
pTS->AuthenticationId.LowPart);
} else
session[0] = 0;
free(pTS);
} else {
session[0] = 0;
}
} else
session[0] = 0;
}
dlen = strlen(desktop);
slen = strlen(session);
together = (char *)malloc(slen + dlen + 1);
memcpy(together, desktop, dlen);
memcpy(together + dlen, session, slen);
together[dlen + slen] = 0;
return together;
}
/* To propagate args from WinMain to wxWinMain via
scheme_main_stack_setup: */
typedef struct {
int wm_is_mred;
HINSTANCE hInstance;
HINSTANCE hPrevInstance;
int argc;
char **argv;
int nCmdShow;
} WinMain_Args;
static int WinMain_after_stack(void *_wma)
{
WinMain_Args *wma = (WinMain_Args *)_wma;
return wxWinMain(wma->wm_is_mred, wma->hInstance, wma->hPrevInstance,
wma->argc, wma->argv,
wma->nCmdShow,
main_after_stack);
}
int APIENTRY WinMain_dlls_ready(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ignored, int nCmdShow)
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ignored, int nCmdShow)
{
LPWSTR m_lpCmdLine;
long argc, j, l;
char *a, **argv, *b, *normalized_path = NULL;
WinMain_Args wma;
int wx_in_terminal = 0;
/* Order matters: load dependencies first */
# ifndef MZ_PRECISE_GC
load_delayed_dll(NULL, "libmzgcxxxxxxx.dll");
# endif
load_delayed_dll(NULL, "libmzsch" DLL_3M_SUFFIX "xxxxxxx.dll");
record_dll_path();
/* Get command line: */
m_lpCmdLine = GetCommandLineW();

View File

@ -1,196 +0,0 @@
data 'BNDL' (128) {
$"4D72 5374 0000 0001 4652 4546 0001 0000" /* MrSt....FREF.... */
$"0080 0001 0081 4943 4E23 0001 0000 0082" /* .€...<EFBFBD>ICN#..... */
$"0001 0000" /* .... */
};
data 'cmdl' (128) {
$"2D65 2027 2864 6973 706C 6179 2022 6869" /* -e '(display "hi */
$"2229 27" /* ")' */
};
data 'ALRT' (128) {
$"0065 0054 00EF 0184 0080 5555 300A" /* .e.T.ï..€UU0Â */
};
data 'DITL' (128) {
$"0002 0000 0000 006C 0089 0080 00C3 0402" /* .......l..€.Ã.. */
$"4F4B 0000 0000 0007 000C 0039 0122 8802" /* OK.........9."ˆ. */
$"5E30 0000 0000 003A 000C 0064 0122 8802" /* ^0.....:...d."ˆ. */
$"5E31" /* ^1 */
};
data 'icl8' (130) {
$"0000 0000 0000 0000 0000 0000 00F5 2BF7" /* .............õ+÷ */
$"F7F7 F500 0000 0000 0000 0000 0000 0000" /* ÷÷õ............. */
$"0000 0000 0000 0000 0000 F8FB F2F1 D4EB" /* ..........øûòñÔë */
$"ECD3 EEAA 802B 0000 0000 0000 0000 0000" /* ìÓ+.......... */
$"0000 0000 0000 0000 56FB FAF7 F5F5 F7AB" /* ........Vûú÷õõ÷« */
$"D2D2 D2D2 D2D3 AAF7 0000 0000 0000 0000" /* ÒÒÒÒÒÓª÷........ */
$"0000 0000 0000 F688 885D 6464 F900 00F5" /* ......öˆˆ]ddù..õ */
$"AAD2 D2D2 D2D2 D2D3 FBF5 0000 0000 0000" /* ªÒÒÒÒÒÒÓûõ...... */
$"0000 0000 00F7 6B23 2323 2323 D9F7 0000" /* .....÷k#####Ù÷.. */
$"F7D3 D2D2 D2D2 D2D2 D2AA F600 0000 0000" /* ÷ÓÒÒÒÒÒÒÒªö..... */
$"0000 0000 F7DA 2323 2323 2323 23DB 0000" /* ....÷Ú#######Û.. */
$"00AA D2D2 D2D2 D2D2 D2D2 D4F6 0000 0000" /* .ªÒÒÒÒÒÒÒÒÔö.... */
$"0000 00F6 6B23 2323 2323 2323 23D8 F800" /* ...ök########Øø. */
$"00F9 D2D2 D2D2 D2D2 D2D2 D2AB 0000 0000" /* .ùÒÒÒÒÒÒÒÒÒ«.... */
$"0000 0088 2323 2323 2323 2323 2323 6400" /* ...ˆ##########d. */
$"00F6 EED2 D2D2 D2D2 D2D2 D2D2 8000 0000" /* .öîÒÒÒÒÒÒÒÒÒ... */
$"0000 56D8 2323 2323 2323 2323 2323 6B00" /* ..VØ##########k. */
$"0000 AAD2 D2D2 D2D2 D2D2 D2D2 D32B 0000" /* ..ªÒÒÒÒÒÒÒÒÒÓ+.. */
$"0000 DB23 2323 2323 2323 2323 2323 472B" /* ..Û###########G+ */
$"0000 F9D2 D2D2 D2D2 D2D2 D2D2 D2AA 0000" /* ..ùÒÒÒÒÒÒÒÒÒÒª.. */
$"00F8 D723 2323 2323 2323 2323 2323 D7F8" /* ×###########×ø */
$"0000 F6EE D2D2 D2D2 D2D2 D2D2 D2ED 2B00" /* ..öîÒÒÒÒÒÒÒÒÒí+. */
$"0064 2323 2323 2323 2323 2323 2323 D7F8" /* .d############×ø */
$"0000 00AA D2D2 D2D2 D2D2 D2D2 D2D2 FA00" /* ...ªÒÒÒÒÒÒÒÒÒÒú. */
$"006B 2323 2323 2323 2323 2323 2323 D9F6" /* .k############Ùö */
$"0000 00F8 ECD2 D2D2 D2D2 D2D2 D2D2 AA00" /* ...øìÒÒÒÒÒÒÒÒÒª. */
$"F6D9 2323 2323 2323 2323 2323 2323 DB00" /* öÙ############Û. */
$"F600 0000 D4D2 D2D2 D2D2 D2D2 D2D2 D400" /* ö...ÔÒÒÒÒÒÒÒÒÒÔ. */
$"F7D7 2323 2323 2323 2323 2323 2323 FA5D" /* ÷×############ú] */
$"DBF6 0000 FAD2 D2D2 D2D2 D2D2 D2D2 EDF6" /* Ûö..úÒÒÒÒÒÒÒÒÒíö */
$"56D7 2323 2323 2323 2323 2323 23DA 2B6B" /* V×###########Ú+k */
$"235D 0000 F6ED D2D2 D2D2 D2D2 D2D2 D32B" /* #]..öíÒÒÒÒÒÒÒÒÓ+ */
$"56D7 2323 2323 2323 2323 2323 235D F9D7" /* V×###########]ù× */
$"236B F500 00AA D2D2 D2D2 D2D2 D2D2 D32B" /* #kõ..ªÒÒÒÒÒÒÒÒÓ+ */
$"F7D8 2323 2323 2323 2323 2323 6BF6 6423" /* ÷Ø##########köd# */
$"2323 F900 00F8 EBD2 D2D2 D2D2 D2D2 EEF5" /* ##ù..øëÒÒÒÒÒÒÒîõ */
$"F6D9 2323 2323 2323 2323 23D7 FAF8 D823" /* öÙ#########×úøØ# */
$"2323 6400 0000 EFD2 D2D2 D2D2 D2D2 D400" /* ##d...ïÒÒÒÒÒÒÒÔ. */
$"006B 2323 2323 2323 2323 23DB 0064 2323" /* .k#########Û.d## */
$"2323 47F7 0000 F9EB D2D2 D2D2 D2D2 AA00" /* ##G÷..ùëÒÒÒÒÒÒª. */
$"0064 2323 2323 2323 2323 D856 F6DA 2323" /* .d########ØVöÚ## */
$"2323 235D 0000 00D4 D2D2 D2D2 D2D2 8000" /* ###]...ÔÒÒÒÒÒÒ€. */
$"00F8 D823 2323 2323 2323 6400 5D23 2323" /* .øØ#######d.]### */
$"2323 236B F500 00F9 EBD2 D2D2 D2ED 2B00" /* ###kõ..ùëÒÒÒÒí+. */
$"0000 DB23 2323 2323 2347 F7F5 6B23 2323" /* ..Û######G÷õk### */
$"2323 23D7 5600 00F5 D4D2 D2D2 D2AB 0000" /* ###×V..õÔÒÒÒÒ«.. */
$"0000 56D8 2323 2323 2388 00F9 D723 2323" /* ..VØ#####ˆ.ù×### */
$"2323 2323 6400 0000 F9EB E3E3 ED2B 0000" /* ####d...ùëããí+.. */
$"0000 0088 2323 2323 DA2B 0064 2323 2323" /* ...ˆ####Ú+.d#### */
$"2323 2323 D9F6 0000 F5EF E3CB E300 0000" /* ####Ùö..õïãËã... */
$"0000 00F6 6B23 2323 5D00 F7D8 2323 2323" /* ...ök###].÷Ø#### */
$"2323 2323 23E3 E3E3 E3E3 E3CB CBE3 0000" /* #####ããããããËËã.. */
$"0000 0000 F7DA 236B F500 6423 2323 2323" /* ....÷Ú#kõ.d##### */
$"2323 2323 23E3 CBCB CBCB CBCB CBCB E300" /* #####ãËËËËËËËËã. */
$"0000 0000 00F7 DB56 00F7 D923 2323 2323" /* .....÷ÛV.÷Ù##### */
$"2323 2323 23E3 CBCB CBCB CBCB CBCB CBE3" /* #####ãËËËËËËËËËã */
$"0000 0000 0000 F6FC 8FD9 2323 2323 2323" /* ......öü<EFBFBD>Ù###### */
$"2323 2323 23E3 CBCB CBCB CBCB CBCB E300" /* #####ãËËËËËËËËã. */
$"0000 0000 0000 0000 F864 4723 2323 2323" /* ........ødG##### */
$"2323 2323 23E3 E3E3 E3E3 E3CB CBE3 0000" /* #####ããããããËËã.. */
$"0000 0000 0000 0000 0000 F75D DBDA 47D7" /* ..........÷]ÛÚG× */
$"D747 6B64 5D2B 0000 0000 E3CB E300 0000" /* ×Gkd]+....ãËã... */
$"0000 0000 0000 0000 0000 0000 00F5 2B2B" /* .............õ++ */
$"2B2B 0000 0000 0000 0000 E3E3 0000 0000" /* ++........ãã.... */
};
data 'icl4' (130) {
$"0000 0000 0000 00CC CC00 0000 0000 0000" /* .......ÌÌ....... */
$"0000 0000 00CE FF66 6665 DC00 0000 0000" /* .....ÎÿffeÜ..... */
$"0000 0000 DEDC 00CE 6666 665C 0000 0000" /* ....ÞÜ.Îfff\.... */
$"0000 00CE EBBB D000 5666 6666 E000 0000" /* ...Îë»Ð.Vfffà... */
$"0000 0C33 3333 3C00 C666 6666 65C0 0000" /* ...333<.ÆfffeÀ.. */
$"0000 C333 3333 3300 0566 6666 666C 0000" /* ..Ã3333..ffffl.. */
$"000C 3333 3333 33C0 0D66 6666 666E 0000" /* ..33333À.ffffn.. */
$"000E 3333 3333 33B0 0C66 6666 6666 D000" /* ..33333°.fffffÐ. */
$"00D3 3333 3333 3330 0056 6666 6666 6C00" /* .Ó333330.Vffffl. */
$"0033 3333 3333 333C 00D6 6666 6666 6500" /* .333333<.Öffffe. */
$"0C33 3333 3333 333C 00C6 6666 6666 66C0" /* .333333<.ÆfffffÀ */
$"0B33 3333 3333 333C 0005 6666 6666 66D0" /* .333333<..fffffÐ */
$"0333 3333 3333 333C 000C 6666 6666 6650" /* .333333<..fffffP */
$"C333 3333 3333 3330 C000 6666 6666 6660" /* Ã3333330À.fffff` */
$"C333 3333 3333 33DB 3C00 D666 6666 666C" /* Ã333333Û<.Öffffl */
$"D333 3333 3333 33C3 3B00 C666 6666 666C" /* Ó333333Ã;.Æffffl */
$"D333 3333 3333 3BD3 3300 0566 6666 666C" /* Ó33333;Ó3..ffffl */
$"C333 3333 3333 3CB3 33D0 0C66 6666 6660" /* Ã33333<³3Ð.ffff` */
$"C333 3333 3333 DC33 33B0 0066 6666 6660" /* Ã33333Ü33°.ffff` */
$"0333 3333 3333 0B33 333C 00D6 6666 6650" /* .33333.33<.ÖfffP */
$"0B33 3333 333D C333 333B 0006 6666 66D0" /* .3333=Ã33;..fffÐ */
$"0C33 3333 33B0 B333 3333 000D 6666 66C0" /* .3333°³333..fffÀ */
$"0033 3333 33C0 3333 3333 D000 6666 6E00" /* .3333À3333Ð.ffn. */
$"00D3 3333 3E0D 3333 3333 B000 D688 6C00" /* .Ó33>.3333°ˆl. */
$"000E 3333 3C0B 3333 3333 3C00 0689 8000" /* ..33<.3333<..‰€. */
$"000C 3333 B0C3 3333 3333 3888 8889 9800" /* ..33°Ã33338ˆˆ‰˜. */
$"0000 C333 00B3 3333 3333 3899 9999 9980" /* ..Ã3.³33338™™™™€ */
$"0000 0C3D 0C33 3333 3333 3899 9999 9998" /* ...=.333338™™™™˜ */
$"0000 00CE A333 3333 3333 3899 9999 9980" /* ...Σ333338™™™™€ */
$"0000 0000 CB33 3333 3333 3888 8889 9800" /* ....Ë333338ˆˆ‰˜. */
$"0000 0000 00CB 3333 333B BC00 0089 8000" /* .....Ë333;¼..‰€. */
$"0000 0000 0000 00CC CC00 0000 0088 0000" /* .......ÌÌ....ˆ.. */
};
data 'ICN#' (130) {
$"001F F800 0075 5600 01FE AB80 0341 5540" /* ..ø..uV..þ«€.AU@ */
$"06B8 AAA0 0D54 D550 1AAC 6AA8 3556 5554" /* .¸ª .TÕP.¬j¨5VUT */
$"2AAA 2AAC 5555 3556 6AAB 1AAA D555 1555" /* *ª*¬UU5Vj«.ªÕU.U */
$"AAAB 0AAB D555 0D55 AAAA 46AB D556 C555" /* ª«Â«ÕU.UªªF«ÕVÅU */
$"AAAC A2AB D555 6355 AAA9 A1AB D55B 5155" /* ª¬¢«ÕUcUª©¡«Õ[QU */
$"AAB2 B0AB 5555 58D6 6AA6 A86A 356D 547C" /* ª²°«UUXÖj¦¨j5mT| */
$"2ACA AC2C 1555 57E4 0A9A AC02 05B5 5401" /* *ʬ,.UW䚬..µT. */
$"03EA AC02 01D5 57E4 006A AB28 001F FC30" /* ¬..ÕWä.j«(..ü0 */
$"001F F800 007F FE00 01FF FF80 03FF FFC0" /* ..ø...þ..ÿÿ.ÿÿÀ */
$"07FF FFE0 0FFF FFF0 1FFF FFF8 3FFF FFFC" /* .ÿÿà.ÿÿð.ÿÿø?ÿÿü */
$"3FFF FFFC 7FFF FFFE 7FFF FFFE FFFF FFFF" /* ?ÿÿü.ÿÿþ.ÿÿþÿÿÿÿ */
$"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF" /* ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ */
$"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF" /* ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ */
$"FFFF FFFF 7FFF FFFE 7FFF FFFE 3FFF FFFC" /* ÿÿÿÿ.ÿÿþ.ÿÿþ?ÿÿü */
$"3FFF FFFC 1FFF FFFC 0FFF FFFE 07FF FFFF" /* ?ÿÿü.ÿÿü.ÿÿþ.ÿÿÿ */
$"03FF FFFE 01FF FFFC 007F FF38 001F FC30" /* .ÿÿþ.ÿÿü..ÿ8..ü0 */
};
data 'ics#' (130) {
$"07E0 1FF8 39FC 7EFE 7E7E FF7F FF3F FE3F" /* .à.ø9ü~þ~~ÿ.ÿ?þ? */
$"FC9F FDDF F9CF 7BEE 73FA 37E1 1FFA 07E4" /* üŸýßùÏ{îsú7á.ú.ä */
$"07E0 1FF8 3FFC 7FFE 7FFE FFFF FFFF FFFF" /* .à.ø?ü.þ.þÿÿÿÿÿÿ */
$"FFFF FFFF FFFF 7FFE 7FFE 3FFF 1FFE 07E4" /* ÿÿÿÿÿÿ.þ.þ?ÿ.þ.ä */
};
data 'ics4' (130) {
$"0000 0FFF FFF0 0000 000F F666 666F F000" /* ...ÿÿð....öffoð. */
$"00F3 3006 6666 6F00 0F33 3330 6666 66F0" /* .ó0.ffo..330fffð */
$"0F33 3330 0666 66F0 F333 3333 0666 666F" /* .330.ffðó333.ffo */
$"F333 3333 0066 666F F333 3330 0066 666F" /* ó333.ffoó330.ffo */
$"F333 3300 3006 666F F333 3303 3306 666F" /* ó33.0.foó33.3.fo */
$"F333 3003 3300 666F 0F33 3033 3330 68F0" /* ó30.3.fo.30330hð */
$"0F33 0033 3388 8980 00F3 0333 3389 9998" /* .3.33ˆ‰€.ó.33‰™˜ */
$"000F F333 3388 8980 0000 0FFF FFF0 0800" /* ..ó33ˆ‰€...ÿÿð.. */
};
data 'ics8' (130) {
$"0000 0000 00FF FFFF FFFF FF00 0000 0000" /* .....ÿÿÿÿÿÿ..... */
$"0000 00FF FFD2 D2D2 D2D2 D2FF FF00 0000" /* ...ÿÿÒÒÒÒÒÒÿÿ... */
$"0000 FF23 2300 00D2 D2D2 D2D2 D2FF 0000" /* ..ÿ##..ÒÒÒÒÒÒÿ.. */
$"00FF 2323 2323 2300 D2D2 D2D2 D2D2 FF00" /* .ÿ#####.ÒÒÒÒÒÒÿ. */
$"00FF 2323 2323 2300 00D2 D2D2 D2D2 FF00" /* .ÿ#####..ÒÒÒÒÒÿ. */
$"FF23 2323 2323 2323 00D2 D2D2 D2D2 D2FF" /* ÿ#######.ÒÒÒÒÒÒÿ */
$"FF23 2323 2323 2323 0000 D2D2 D2D2 D2FF" /* ÿ#######..ÒÒÒÒÒÿ */
$"FF23 2323 2323 2300 0000 D2D2 D2D2 D2FF" /* ÿ######...ÒÒÒÒÒÿ */
$"FF23 2323 2323 0000 2300 00D2 D2D2 D2FF" /* ÿ#####..#..ÒÒÒÒÿ */
$"FF23 2323 2323 0023 2323 00D2 D2D2 D2FF" /* ÿ#####.###.ÒÒÒÒÿ */
$"FF23 2323 2300 0023 2323 0000 D2D2 D2FF" /* ÿ####..###..ÒÒÒÿ */
$"00FF 2323 2300 2323 2323 2300 ECE3 FF00" /* .ÿ###.#####.ìãÿ. */
$"00FF 2323 0000 2323 2323 E3E3 E3CB E300" /* .ÿ##..####ãããËã. */
$"0000 FF23 0023 2323 2323 E3CB CBCB CBE3" /* ..ÿ#.#####ãËËËËã */
$"0000 00FF FF23 2323 2323 E3E3 E3CB E300" /* ...ÿÿ#####ãããËã. */
$"0000 0000 00FF FFFF FFFF FF00 00E3 0000" /* .....ÿÿÿÿÿÿ..ã.. */
};
data 'MrSt' (0, "Owner resource") {
$"00" /* . */
};
data 'FREF' (128) {
$"4150 504C 0000 00" /* APPL... */
};
data 'FREF' (129) {
$"2A2A 2A2A 0001 00" /* ****... */
};
data 'SIZE' (-1) {
$"58F0 0007 A120 0007 A120" /* Xð..¡ ..¡ */
};

View File

@ -79,24 +79,6 @@
[icns-dest (build-path contents-path "Resources" (path-replace-suffix (file-name-from-path app-name) #".icns"))])
(unless (file-exists? icns-dest)
(copy-file icns-src icns-dest))))))
(define (create-fw dest-path fw-name info-plist)
(let* ([fw-path (build-path dest-path
(string-append fw-name ".framework")
"Versions"
(if for-3m?
(format "~a_3m" (version))
(version)))])
(make-directory* fw-path)
(realize-template fw-path fw-template-tree)
(write-info (build-path fw-path "Resources") info-plist)
;; maybe someday we'll have Contents/Resources/English.lproj ?
(let* ([rsrc-src (build-path "GRacket.rsrc.OSX")]
[rsrc-dest (build-path fw-path "Resources" (format "~a.rsrc" fw-name))])
(when (file-exists? rsrc-dest)
(delete-file rsrc-dest))
(printf "Installing ~a~n" rsrc-dest)
(copy-file rsrc-src rsrc-dest))))
(define (make-info-plist app-name signature app?)
`(dict (assoc-pair "CFBundleDevelopmentRegion"
@ -126,10 +108,6 @@
"APPLmReD"
(make-info-plist (string-append "GRacket" suffix) "mReD" #t))
(create-fw (current-directory)
"GRacket"
(make-info-plist "GRacket" "GRacket" #f))
(create-app (build-path (current-directory) (if for-3m? 'up 'same))
"Starter"
"Starter"

View File

@ -62,6 +62,11 @@ static int _coldir_offset = 19; /* Skip permanent tag */
#define DLL_RELATIVE_PATH L"lib"
#include "delayed.inc"
#ifdef NEED_CONSOLE_PRINTF
static void (*console_printf)(char *str, ...);
# define PRINTF console_printf
#endif
extern
# ifdef __cplusplus
"C"
@ -165,7 +170,7 @@ typedef struct {
char *init_lib;
} FinishArgs;
typedef void (*Repl_Proc)(Scheme_Env *);
typedef void (*Repl_Proc)(Scheme_Env *, FinishArgs *f);
static void configure_environment(Scheme_Object *mod)
{
@ -424,7 +429,7 @@ static int finish_cmd_line_run(FinishArgs *fa, Repl_Proc repl)
save = p->error_buf;
p->error_buf = &newbuf;
if (!scheme_setjmp(newbuf)) {
repl(fa->global_env);
repl(fa->global_env, fa);
exit_val = 0;
} else {
exit_val = 1;
@ -581,6 +586,10 @@ static int run_from_cmd_line(int argc, char *_argv[],
prog = argv[0];
argv++;
--argc;
#ifdef NEED_CONSOLE_PRINTF
console_printf = scheme_get_console_printf();
#endif
#ifdef DOS_FILE_SYSTEM
{

View File

@ -6,11 +6,10 @@
# Remember:
# CFLAGS - C compilation only
# CXXFLAGS - C++ compilation only
# CPPFLAGS - C and C++ pre-processing and compilation for configure-time testing ONLY
# COMPFLAGS - C and C++ compilation, but not configure-time tests
# PREFLAGS - C and C++ preprocessing, but not configure-time tests
# OPTIONS - C and C++ flags, not needed for configure-time tests
# CPPFLAGS - C pre-processing and compilation for configure-time testing ONLY
# COMPFLAGS - C compilation, but not configure-time tests
# PREFLAGS - C preprocessing, but not configure-time tests
# OPTIONS - C flags, not needed for configure-time tests
# MZOPTIONS - Racket-only flags
# MROPTIONS - GRacket-only flags
# CGCOPTIONS - Boehm-GC-only flags
@ -25,16 +24,7 @@ AC_CONFIG_SRCDIR(racket/src/bignum.c)
AC_CONFIG_HEADERS([racket/mzconfig.h])
AC_ARG_ENABLE(gracket, [ --enable-gracket compile GRacket as well as Racket (enabled by default)], , enable_gracket=yes )
AC_ARG_ENABLE(docs, [ --enable-docs build docs on install (enabled by default)], , enable_docs=yes)
AC_ARG_ENABLE(gl, [ --enable-gl use OpenGL when available (enabled by default)])
AC_ARG_ENABLE(xrender, [ --enable-xrender use Xrender when available (enabled by default)])
AC_ARG_ENABLE(xft, [ --enable-xft use Xft when available (enabled by default)])
AC_ARG_ENABLE(cairo, [ --enable-cairo use Cairo when available (enabled by default)])
AC_ARG_ENABLE(libpng, [ --enable-libpng use libpng instead of building (enabled by default)])
AC_ARG_ENABLE(libjpeg, [ --enable-libjpeg use libjpeg instead of building (enabled by default)])
AC_ARG_ENABLE(shared, [ --enable-shared create shared libraries])
AC_ARG_ENABLE(dynlib, [ --enable-dynlib same as --enable-shared])
AC_ARG_ENABLE(lt, [ --enable-lt=<prog> use <prog> instead of bundled libtool], LIBTOOLPROG="$enableval", enable_lt=no)
@ -253,16 +243,6 @@ if test "${enable_gracket}" = "yes" ; then
fi
fi
if test "${enable_gracket}" = "no" ; then
enable_wbuild=no
enable_xrender=no
enable_cairo=no
enable_libpng=no
enable_libjpeg=no
enable_gl=no
enable_pthread=no
fi
###### Tell user what flags we have #######
show_explicitly_disabled()
@ -287,14 +267,6 @@ show_explicitly_enabled "${enable_xonx}" "X-on-X"
show_explicitly_enabled "${enable_shared}" "Shared libraries"
show_explicitly_disabled "${enable_gracket}" GRacket
if test "${enable_gracket}" != "no" ; then
show_explicitly_disabled "${enable_gl}" OpenGL
show_explicitly_disabled "${enable_xrender}" Xrender
show_explicitly_disabled "${enable_xft}" Xft
show_explicitly_disabled "${enable_cairo}" Cairo
show_explicitly_disabled "${enable_libpng}" "Use-existing-libpng"
show_explicitly_disabled "${enable_libjpeg}" "Use-existing-libjpeg"
fi
if test "$LIBTOOLPROG" != "" ; then
echo "=== Libtool program: $LIBTOOLPROG"
@ -358,14 +330,6 @@ MROPTIONS=
INCLUDEDEP="#"
WX_MMD_FLAG=
JPEG_A='$(JPEG_A)'
JPEG_INC='$(JPEG_INC)'
ZLIB_A='$(ZLIB_A)'
ZLIB_INC='$(ZLIB_INC)'
PNG_A='$(PNG_A)'
PREFLAGS="$CPPFLAGS"
MZRT_CGC_FLAGS=""
LIBATOM="LIBATOM_NONE"
@ -373,9 +337,6 @@ LIBATOM="LIBATOM_NONE"
ar_libtool_no_undefined=""
LIBRACKET_DEP=""
XFT_EXTRA_FLAGS=
XFT_EXTRA_LIBS=
EXE_SUFFIX=
MMM=3m
@ -439,15 +400,11 @@ COMPFLAGS=""
ORIG_CC="${CC}"
ORIG_CPP="${CPP}"
ORIG_CXX="${CXX}"
ORIG_CXXCPP="${CXXCPP}"
SUB_CONFIGURE_EXTRAS=""
if test "${enable_oskit}" = "no" ; then
AC_PROG_CC
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_CXXCPP
if test "$AS" = '' ; then
AS=as
as_was_set=no
@ -517,17 +474,6 @@ if test "${enable_gcov}" = "yes" ; then
PROFFLAGS="$PROFFLAGS -fprofile-arcs -ftest-coverage"
fi
if test "${enable_wbuild}" = "yes" ; then
MAKE_WBUILD=wb
WBUILD="x/wbuild/src/wbuild"
WBUILD="$WBUILD --no-init-file --no-lines -i \$(srcdir)/XWidgets"
WBUILD="$WBUILD -c \$(srcdir)/XWidgets -d \$(srcdir)/XWidgets"
WBUILD="$WBUILD -p . \$(srcdir)/x/wbuild/wbuild.cfg"
else
MAKE_WBUILD=
WBUILD="sh \$(PLTSRCDIR)/wxxt/src/XWidgets/dummy.wbuild"
fi
ORIG_CC_FOR_BUILD="${CC_FOR_BUILD}"
if test "$CC_FOR_BUILD" = "" ; then
CC_FOR_BUILD="$CC"
@ -589,20 +535,13 @@ case $OS in
DYN_CFLAGS="-fPIC"
GC_THREADS_FLAG="-DGC_LINUX_THREADS"
STRIP_DEBUG="strip -S"
# PPC: X11 librares are not found
case `$UNAME -m` in
#Required for CentOS 4.6
x86_64)
enable_futures_by_default=yes
CGC_X86_64="1"
if test -d /usr/X11R6/lib64 ; then
X_LIBS="$X_LIBS -L/usr/X11R6/lib64"
fi
;;
ppc)
if test -d /usr/X11R6/lib ; then
X_LIBS="$X_LIBS -L/usr/X11R6/lib"
fi
;;
alpha)
EXTRA_GMP_OBJ="gmp_alpha_gcc.o"
@ -636,9 +575,6 @@ case $OS in
MZOPTIONS="$MZOPTIONS +e"
fi
LIBS="$LIBS -Wl,-E"
# For Xaw and Xmu:
X_CFLAGS="-I/usr/contrib/X11R6/include/ $X_CFLAGS"
X_LIBS="-L/usr/contrib/X11R6/lib/ $X_LIBS"
;;
CYGWIN*)
enable_cgcdefault="yes"
@ -707,7 +643,6 @@ case $OS in
fi
else
# gcc 3.x
CXXFLAGS="$CXXFLAGS -fno-rtti"
if test "${enable_quartz}" = "yes" ; then
[ gcc_vers_three_one=`${CC} -v 2>&1 | grep "version 3[.]1"` ]
if test "$gcc_vers_three_one" = "" ; then
@ -734,14 +669,6 @@ case $OS in
CPP="${CPP} -m32"
SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} CPP="'"'"${CPP}"'"'
fi
if test "${ORIG_CXX}" = "" ; then
CXX="${CXX} -m32"
SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} CXX="'"'"${CXX}"'"'
fi
if test "${ORIG_CXXCPP}" = "" ; then
CXXCPP="${CXXCPP} -m32"
SUB_CONFIGURE_EXTRAS="${SUB_CONFIGURE_EXTRAS} CPPCXX="'"'"${CPPCXX}"'"'
fi
if test "${ORIG_CC_FOR_BUILD}" = "" ; then
CC_FOR_BUILD="${CC_FOR_BUILD} -m32"
fi
@ -776,12 +703,6 @@ case $OS in
fi
else
PREFLAGS="$PREFLAGS -DXONX "
X_EXTRA_LIBS="$X_EXTRA_LIBS -lz"
X_LIBS="$X_LIBS -L/usr/X11R6/lib"
# need help finding fontconfig and freetype headers:
XFT_EXTRA_FLAGS="-I/usr/X11R6/include -I/usr/X11R6/include/freetype2"
XFT_EXTRA_LIBS="-lfontconfig"
fi
;;
*)
@ -1098,97 +1019,11 @@ if test "$check_gcc_dash_e" = "yes" ; then
fi
############## C++ grunge ################
if test "${enable_gracket}" = "yes" ; then
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING(whether C++ compiler works)
AC_TRY_RUN(int main() { return 0; }, cplusplusworks=yes, cplusplusworks=no, cplusplusworks=yes)
AC_MSG_RESULT($cplusplusworks)
if test "$cplusplusworks" = "no" ; then
MROPTIONS="$MROPTIONS -DOPERATOR_NEW_ARRAY"
echo "***************************************************"
echo configure: C++ compiler/linker ${CXX} does not work
echo "***************************************************"
echo configure aborted
exit 1
fi
[ msg="whether new and new[] are different" ]
AC_MSG_CHECKING($msg)
AC_TRY_RUN(
[ #include <stddef.h> ]
inline void *operator new(size_t size) { return (void *)0x1; }
[ inline void *operator new[](size_t size) { return (void *)0x2; } ]
class C { int x; };
int main() {
[ return (new C) == (new C[10]); ]
}, different=yes, different=no, different=yes)
if test "$different" = "yes" ; then
MROPTIONS="$MROPTIONS -DOPERATOR_NEW_ARRAY"
fi
AC_MSG_RESULT($different)
if test "$enable_quartz" = "no" ; then
# If we're using gcc and including X11/Intrinsic doesn't work
# then try adding -fpermissive
if test "$CC" = "gcc" ; then
AC_MSG_CHECKING(whether need to use -fpermissive)
AC_TRY_COMPILE([#]include "X11/Intrinsic.h", , addperm=no, addperm=yes)
if test "$addperm" = "yes" ; then
CXXFLAGS="$CXXFLAGS -fpermissive"
fi
AC_MSG_RESULT($addperm)
fi
# X11 headers present?
xmissing=""
AC_CHECK_HEADER(X11/Xlib.h, :, xmissing="$xmissing X11/Xlib.h")
AC_CHECK_HEADER(X11/Intrinsic.h, :, xmissing="$xmissing X11/XIntrinsic.h")
AC_CHECK_LIB(X11, XFlush, :, xmissing="$xmissing libX11", $X_LIBS)
AC_CHECK_LIB(Xext, XSyncQueryExtension, :, xmissing="$xmissing libXext", $X_LIBS -lX11)
AC_CHECK_LIB(Xt, XtDestroyWidget, :, xmissing="$xmissing libXt", $X_LIBS -lX11 -lXext)
AC_CHECK_LIB(Xmu, XmuInternAtom, :, xmissing="$xmissing libXmu", $X_LIBS -lXt -lX11 -lXext)
AC_CHECK_LIB(Xaw, vendorShellClassRec, :, xmissing="$xmissing libXaw", $X_LIBS -lXmu -lXt -lX11 -lXext)
if test "$xmissing" = "" ; then
:
else
echo "******************************************************"
echo "configure: cannot find X11 development files that are"
echo " needed to compile GRacket:"
echo "$xmissing"
echo "******************************************************"
echo configure aborted
exit 1
fi
# Can we make auto-repeat detectable?
[ msg="whether X11/XKBlib.h is available" ]
AC_MSG_CHECKING($msg)
AC_TRY_RUN(
[ #include <X11/Intrinsic.h>]
[ #include <X11/XKBlib.h>]
int main() {
return 0;
}, xkbavail=yes, xkbavail=no, xkbavail=no)
if test "$xkbavail" = "no" ; then
MROPTIONS="$MROPTIONS -DNO_XKB_LIB_PRESENT"
fi
AC_MSG_RESULT($xkbavail)
fi # non-quartz
fi
############## drop optimization flags ################
if test "${enable_noopt}" = "yes" ; then
AWKPRG='BEGIN { FS = "(^| )-O(0|1|2|3|4|5|6|7|8|9|())( |$)" } /.*/ { for (i = 1; i < NF; i++) printf "%s ", $i; print $NF }'
CFLAGS=`echo "$CFLAGS" | awk "$AWKPRG"`
CXXFLAGS=`echo "$CXXFLAGS" | awk "$AWKPRG"`
fi
################### JIT ####################
@ -1234,154 +1069,6 @@ if test "${enable_gl}" = "yes" ; then
MROPTIONS="$MROPTIONS -DUSE_GL"
fi
################ Xrender ##################
if test "${enable_xrender}" = "" ; then
enable_xrender=yes
fi
if test "${enable_xrender}" = "yes" ; then
AC_CHECK_HEADER(X11/extensions/Xrender.h, enable_xrender=yes, enable_xrender=no)
if test "${enable_xrender}" = "yes" ; then
AC_CHECK_LIB(Xrender, XRenderQueryExtension, enable_xrender="yes", enable_xrender="no", $X_LIBS -lX11 -lXext -lXrender)
if test "${enable_xrender}" = "yes" ; then
MROPTIONS="$MROPTIONS -DWX_USE_XRENDER"
X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrender"
else
echo "no Xrender libs; Xrender support disabled"
fi
else
echo "no Xrender headers; Xrender support disabled"
fi
fi
################ Xft ##################
if test "${enable_xft}" = "" ; then
if test "${enable_xrender}" = "yes" ; then
enable_xft=yes
else
enable_xft=no
fi
fi
if test "${enable_xft}" = "yes" ; then
xft_config_prog="pkg-config xft"
xft_config_ok=`$xft_config_prog --cflags 2> /dev/null`
if test "$?" != 0 ; then
xft_config_prog="xft-config"
xft_config_ok=`$xft_config_prog --cflags 2> /dev/null`
fi
if test "$?" != 0 ; then
save_cpp_flags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XFT_EXTRA_FLAGS $X_CFLAGS"
AC_CHECK_HEADER(X11/Xft/Xft.h, enable_xft=yes, enable_xft=no)
if test "${enable_xft}" = "yes" ; then
AC_CHECK_LIB(Xft, XftTextExtents8, enable_xft="yes", enable_xft="no", $X_LIBS -lX11 -lXext -Xrender -lXft)
if test "${enable_xft}" = "yes" ; then
MROPTIONS="$MROPTIONS $XFT_EXTRA_FLAGS -DWX_USE_XFT"
X_EXTRA_LIBS="$X_EXTRA_LIBS $XFT_EXTRA_LIBS -lXft"
else
echo "no Xft libs; Xft support disabled"
fi
else
echo "no Xft headers; Xft support disabled"
fi
CPPFLAGS="$save_cpp_flags"
else
echo "Using $xft_config_prog..."
xft_cflags=`$xft_config_prog --cflags`
xft_libs=`$xft_config_prog --libs`
echo "Xft flags: $xft_cflags"
echo "Xft libs: $xft_libs"
MROPTIONS="$MROPTIONS -DWX_USE_XFT"
X_CFLAGS="$X_CFLAGS $xft_cflags"
X_EXTRA_LIBS="$X_EXTRA_LIBS $xft_libs"
fi
fi
################ Cairo ##################
if test "${enable_cairo}" = "" ; then
enable_cairo=yes
fi
if test "${enable_cairo}" = "yes" ; then
cairo_config_ok=`pkg-config --cflags cairo 2> /dev/null`
if test "$?" != 0 ; then
echo "no information from pkg-config; Cairo support disabled"
else
echo "Using pkg-config for Cairo..."
cairo_cflags=`pkg-config --cflags cairo`
cairo_libs=`pkg-config --libs cairo`
echo "Cairo flags: $cairo_cflags"
echo "Cairo libs: $cairo_libs"
AC_CHECK_LIB(cairo, cairo_create, enable_cairo="yes", enable_xrender="no", $X_LIBS $X_EXTRA_LIBS $cairo_libs)
if test "${enable_cairo}" = "yes" ; then
MROPTIONS="$MROPTIONS -DWX_USE_CAIRO"
X_CFLAGS="$X_CFLAGS $cairo_cflags"
X_EXTRA_LIBS="$X_EXTRA_LIBS $cairo_libs"
CPPFLAGS="$CPPFLAGS $cairo_cflags"
AC_CHECK_HEADER(cairo-xlib.h, havecairoxlib=yes, havecairoxlib=no)
if test "${havecairoxlib}" = "no" ; then
MROPTIONS="$MROPTIONS -DWX_CAIRO_NO_XLIBH"
fi
else
echo "no Cairo libs; Cairo support disabled"
fi
fi
fi
################ libpng ##################
if test "${enable_libpng}" = "" ; then
enable_libpng=yes
fi
if test "${enable_libpng}" = "yes" ; then
AC_CHECK_HEADER(png.h, enable_libpng=yes, enable_libpng=no)
if test "${enable_libpng}" = "yes" ; then
AC_CHECK_LIB(png, png_read_info, enable_libpng="yes", enable_libpng="no", -lpng -lz)
if test "${enable_libpng}" = "yes" ; then
PNG_A=""
PNG_INC=""
ZLIB_A=""
ZLIB_INC=""
X_EXTRA_LIBS="$X_EXTRA_LIBS -lpng -lz"
MROPTIONS="$MROPTIONS -DWX_USE_LIBPNG"
else
echo "no libpng installed; building static version"
fi
else
echo "no libpng headers installed; building from PLT copy"
fi
fi
################ libjpeg ##################
if test "${enable_libjpeg}" = "" ; then
enable_libjpeg=yes
fi
if test "${enable_libjpeg}" = "yes" ; then
AC_CHECK_HEADER(jpeglib.h, enable_libjpeg=yes, enable_libjpeg=no)
if test "${enable_libjpeg}" = "yes" ; then
AC_CHECK_LIB(jpeg, jpeg_start_decompress, enable_libjpeg="yes", enable_libjpeg="no", -ljpeg)
if test "${enable_libjpeg}" = "yes" ; then
JPEG_A=""
JPEG_INC=""
X_EXTRA_LIBS="$X_EXTRA_LIBS -ljpeg"
MROPTIONS="$MROPTIONS -DWX_USE_LIBJPEG"
else
echo "no libjpeg installed; building static version"
fi
else
echo "no libjpeg headers installed; building from PLT copy"
fi
fi
############## docs ################
if test "${enable_docs}" = "no" ; then
@ -1435,10 +1122,8 @@ if test "${enable_shared}" = "yes" ; then
ARFLAGS=""
RANLIB=":"
MZLINKER="${LIBTOOLPROG} --mode=link --tag=CC $CC${need_gcc_static_libgcc} -rpath ${abslibdir}"
GRACKETLINKER="${LIBTOOLPROG} --mode=link --tag=CXX $CXX${need_gcc_static_libgcc} -rpath ${abslibdir}"
PLAIN_CC="$CC"
CC="${LIBTOOLPROG} --mode=compile --tag=CC $CC"
CXX="${LIBTOOLPROG} --mode=compile --tag=CXX $CXX"
AS="${LIBTOOLPROG} --mode=compile $AS"
LIBSFX=la
WXLIBS=WXLIBSDYN
@ -1452,7 +1137,6 @@ if test "${enable_shared}" = "yes" ; then
MZOPTIONS="$MZOPTIONS -DMZ_USES_SHARED_LIB"
else
LIBSFX=a
GRACKETLINKER='$(CXX)'
WXLIBS=WXLIBSNORM
ICP=cp
MRLIBINSTALL="install-no-lib"
@ -1472,14 +1156,11 @@ LIBS="$LIBS $EXTRALIBS"
AC_SUBST(CC)
AC_SUBST(CFLAGS)
AC_SUBST(CXX)
AC_SUBST(CXXFLAGS)
AC_SUBST(PREFLAGS)
AC_SUBST(COMPFLAGS)
AC_SUBST(PROFFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(CPP)
AC_SUBST(CXXCPP)
AC_SUBST(SED)
AC_SUBST(PERL)
AC_SUBST(AS)
@ -1523,7 +1204,6 @@ AC_SUBST(EXE_SUFFIX)
AC_SUBST(MZRT_CGC_FLAGS)
AC_SUBST(LIBATOM)
AC_SUBST(GRACKETLINKER)
AC_SUBST(LIBSFX)
AC_SUBST(WXLIBS)
AC_SUBST(WXVARIANT)
@ -1541,12 +1221,6 @@ AC_SUBST(USE_WXPRECOMP)
AC_SUBST(INCLUDEDEP)
AC_SUBST(WX_MMD_FLAG)
AC_SUBST(JPEG_A)
AC_SUBST(JPEG_INC)
AC_SUBST(ZLIB_A)
AC_SUBST(ZLIB_INC)
AC_SUBST(PNG_A)
AC_SUBST(OSKHOME)
AC_SUBST(EXTRA_OSK_LIBS)
@ -1614,46 +1288,9 @@ makefiles="$makefiles foreign/Makefile"
ac_configure_args="$ac_configure_args$SUB_CONFIGURE_EXTRAS"
if test "${enable_gracket}" = "yes" ; then
if test "${enable_quartz}" = "yes" ; then
mk_needed_dir wxmac
mk_needed_dir wxmac/src
else
mk_needed_dir wxxt
mk_needed_dir wxxt/utils
mk_needed_dir wxxt/utils/image
mk_needed_dir wxxt/contrib
mk_needed_dir wxxt/contrib/xpm
fi
makefiles="$makefiles
gracket/Makefile
gracket/wxs/Makefile
gracket/gc2/Makefile"
if test "${enable_libpng}" != "yes" ; then
makefiles="$makefiles
wxcommon/libpng/Makefile wxcommon/zlib/Makefile"
fi
if test "${enable_quartz}" = "yes" ; then
makefiles="$makefiles
wxmac/src/Makefile"
else
makefiles="$makefiles
wxxt/src/Makefile wxxt/src/x/Makefile
wxxt/utils/image/src/Makefile
wxxt/contrib/xpm/lib/Makefile"
fi
if test "${enable_libjpeg}" = "no" ; then
AC_CONFIG_AUX_DIR( wxcommon/jpeg )
AC_CONFIG_SUBDIRS( wxcommon/jpeg )
fi
fi
if test "${enable_wbuild}" = "yes" ; then
AC_CONFIG_AUX_DIR( wxxt/src/x/wbuild )
AC_CONFIG_SUBDIRS( wxxt/src/x/wbuild )
fi
AC_OUTPUT($makefiles)

View File

@ -1670,7 +1670,6 @@ extern void *scheme_malloc_envunbox(size_t);
# define scheme_malloc_small_atomic_tagged scheme_malloc_atomic_tagged
#endif
#ifdef MZ_PRECISE_GC
# define MZ_GC_DECL_REG(size) void *__gc_var_stack__[size+2] = { (void *)0, (void *)size };
# define MZ_GC_VAR_IN_REG(x, v) (__gc_var_stack__[x+2] = (void *)&(v))
@ -1757,7 +1756,10 @@ MZ_EXTERN void scheme_set_atexit(Scheme_At_Exit_Proc p);
typedef void (*scheme_console_printf_t)(char *str, ...);
MZ_EXTERN scheme_console_printf_t scheme_console_printf;
MZ_EXTERN scheme_console_printf_t scheme_get_console_printf();
MZ_EXTERN void (*scheme_console_output)(char *str, long len);
MZ_EXTERN void scheme_set_console_printf(scheme_console_printf_t p);
typedef void (*scheme_console_output_t)(char *str, long len);
MZ_EXTERN scheme_console_output_t scheme_console_output;
MZ_EXTERN void scheme_set_console_output(scheme_console_output_t p);
MZ_EXTERN void (*scheme_sleep)(float seconds, void *fds);
MZ_EXTERN void (*scheme_notify_multithread)(int on);
MZ_EXTERN void (*scheme_wakeup_on_input)(void *fds);
@ -1776,10 +1778,16 @@ void scheme_restore_nonmain_thread(void);
extern long scheme_creator_id;
#endif
typedef Scheme_Object *(*Scheme_Stdio_Maker_Proc)(void);
MZ_EXTERN Scheme_Object *(*scheme_make_stdin)(void);
MZ_EXTERN Scheme_Object *(*scheme_make_stdout)(void);
MZ_EXTERN Scheme_Object *(*scheme_make_stderr)(void);
MZ_EXTERN void scheme_set_stdio_makers(Scheme_Stdio_Maker_Proc in,
Scheme_Stdio_Maker_Proc out,
Scheme_Stdio_Maker_Proc err);
MZ_EXTERN void scheme_set_banner(char *s);
MZ_EXTERN Scheme_Object *scheme_set_exec_cmd(char *s);
MZ_EXTERN Scheme_Object *scheme_set_run_cmd(char *s);

View File

@ -67,16 +67,6 @@ START_XFORM_SUSPEND;
#ifdef UNISTD_INCLUDE
# include <unistd.h>
#endif
#ifdef MACINTOSH_EVENTS
# ifndef OS_X
# include <Events.h>
# endif
#endif
#ifdef MACINTOSH_EVENTS
# ifndef OS_X
# include "simpledrop.h"
# endif
#endif
#ifdef INSTRUMENT_PRIMITIVES
extern int g_print_prims;
@ -135,24 +125,28 @@ static char *get_init_filename(Scheme_Env *env)
extern Scheme_Object *scheme_initialize(Scheme_Env *env);
#endif
#ifdef EXPAND_FILENAME_TILDE
# define INIT_FILENAME "~/.racketrc"
#else
# ifdef DOS_FILE_SYSTEM
# define INIT_FILENAME "%%HOMEDRIVE%%\\%%HOMEPATH%%\\racketrc.rktl"
#ifndef INIT_FILENAME
# ifdef EXPAND_FILENAME_TILDE
# define INIT_FILENAME "~/.racketrc"
# else
# define INIT_FILENAME "PREFERENCES:racketrc.rktl"
# ifdef DOS_FILE_SYSTEM
# define INIT_FILENAME "%%HOMEDRIVE%%\\%%HOMEPATH%%\\racketrc.rktl"
# else
# define INIT_FILENAME "PREFERENCES:racketrc.rktl"
# endif
# endif
# define GET_INIT_FILENAME get_init_filename
# define PRINTF printf
# define PROGRAM "Racket"
# define PROGRAM_LC "racket"
# define INITIAL_BIN_TYPE "zi"
# define RACKET_CMD_LINE
# define INITIAL_NAMESPACE_MODULE "racket/init"
#endif
#define GET_INIT_FILENAME get_init_filename
#define PRINTF printf
#define CMDLINE_FFLUSH fflush
#define PROGRAM "Racket"
#define PROGRAM_LC "racket"
#define INITIAL_BIN_TYPE "zi"
#define BANNER scheme_banner()
#define RACKET_CMD_LINE
#define INITIAL_NAMESPACE_MODULE "racket/init"
/*========================================================================*/
/* command-line parsing */
@ -202,10 +196,10 @@ static void user_break_hit(int ignore)
#endif
/* Forward declarations: */
static void do_scheme_rep(Scheme_Env *);
static void do_scheme_rep(Scheme_Env *, FinishArgs *f);
static int cont_run(FinishArgs *f);
#if defined(WINDOWS_UNICODE_SUPPORT) && !defined(__CYGWIN32__)
#if defined(WINDOWS_UNICODE_SUPPORT) && !defined(__CYGWIN32__) && !defined(MZ_DEFINE_UTF8_MAIN)
# define MAIN wmain
# define MAIN_char wchar_t
# define MAIN_argv wargv
@ -324,9 +318,11 @@ static int main_after_stack(void *data)
rval = run_from_cmd_line(argc, argv, scheme_basic_env, cont_run);
#ifndef DEFER_EXPLICIT_EXIT
scheme_immediate_exit(rval);
/* shouldn't get here */
#endif
return rval;
}
@ -341,20 +337,31 @@ static int cont_run(FinishArgs *f)
/************************* do_scheme_rep *****************************/
/* Finally, do a read-eval-print-loop */
static void do_scheme_rep(Scheme_Env *env)
static void do_scheme_rep(Scheme_Env *env, FinishArgs *fa)
{
/* enter read-eval-print loop */
{
Scheme_Object *rep, *a[2];
Scheme_Object *rep, *a[2];
int ending_newline = 1;
a[0] = scheme_intern_symbol("scheme/base");
a[1] = scheme_intern_symbol("read-eval-print-loop");
rep = scheme_dynamic_require(2, a);
#ifdef GRAPHICAL_REPL
if (fa->a->alternate_rep) {
a[0] = scheme_intern_symbol("gracket/gracket");
a[1] = scheme_intern_symbol("textual-read-eval-print-loop");
} else {
a[0] = scheme_intern_symbol("gracket/gracket");
a[1] = scheme_intern_symbol("graphical-read-eval-print-loop");
}
ending_newline = 0;
#else
a[0] = scheme_intern_symbol("scheme/base");
a[1] = scheme_intern_symbol("read-eval-print-loop");
#endif
rep = scheme_dynamic_require(2, a);
if (rep) {
scheme_apply(rep, 0, NULL);
if (rep) {
scheme_apply(rep, 0, NULL);
if (ending_newline)
printf("\n");
}
}
}

View File

@ -43,10 +43,12 @@
/* globals */
SHARED_OK scheme_console_printf_t scheme_console_printf;
scheme_console_printf_t scheme_get_console_printf() { return scheme_console_printf; }
void scheme_set_console_printf(scheme_console_printf_t p) { scheme_console_printf = p; }
SHARED_OK Scheme_Exit_Proc scheme_exit;
void scheme_set_exit(Scheme_Exit_Proc p) { scheme_exit = p; }
HOOK_SHARED_OK void (*scheme_console_output)(char *str, long len);
void scheme_set_console_output(scheme_console_output_t p) { scheme_console_output = p; }
SHARED_OK static int init_syslog_level = INIT_SYSLOG_LEVEL;
SHARED_OK static int init_stderr_level = SCHEME_LOG_ERROR;

View File

@ -676,6 +676,15 @@ Scheme_Object * scheme_make_eof (void)
return scheme_eof;
}
void scheme_set_stdio_makers(Scheme_Stdio_Maker_Proc in,
Scheme_Stdio_Maker_Proc out,
Scheme_Stdio_Maker_Proc err)
{
scheme_make_stdin = in;
scheme_make_stdout = out;
scheme_make_stderr = err;
}
/*========================================================================*/
/* fd arrays */
/*========================================================================*/

View File

@ -316,162 +316,20 @@
(define wx-inc (string-append "/I ../../racket/include "
"/I .. "
"/I ../../racket/gc2 "
"/I ../../wxwindow/include/msw "
"/I ../../wxwindow/include/base "
"/I ../../gracket/wxme "
"/I ../../wxwindow/contrib/wxxpm/libxpm.34b/lib "
"/I ../../wxWindow/contrib/fafa "
"/I ../../wxcommon/jpeg /I ../jpeg /I ../../wxcommon/zlib "))
(try "wxprecomp.cxx" (list* "../../racket/src/schvers.h" common-deps)
"xsrc/wxprecomp.h" #f wx-inc #f "" "-DGC2_AS_IMPORT" #f #f)
"/I ../../racket "
"/I ../../racket/gc2 "))
(define (wx-try base proj x use-precomp? suffix indirect?)
(let ([cxx-file (format "../../~a/~a.~a" base x suffix)])
(try cxx-file
(list* cxx-file
common-deps)
(format "xsrc/~a.~a" x suffix)
(format "xsrc/~a.obj" x)
wx-inc
(and use-precomp? "xsrc/wxprecomp.h")
"-DGC2_JUST_MACROS /FI../../../racket/gc2/gc2.h"
(string-append "-DGC2_AS_IMPORT"
(if backtrace-gc?
" /D MZ_GC_BACKTRACE"
""))
"wx.pch"
indirect?)))
(define wxwin-base-srcs
'("wb_canvs"
"wb_cmdlg"
"wb_data"
"wb_dc"
"wb_dialg"
"wb_frame"
"wb_gdi"
"wb_hash"
"wb_item"
"wb_list"
"wb_main"
"wb_obj"
"wb_panel"
"wb_print"
"wb_ps"
"wb_stdev"
"wb_sysev"
"wb_timer"
"wb_types"
"wb_utils"
"wb_win"))
(for-each (lambda (x)
(wx-try "wxwindow/src/base" "wxwin" x #t "cxx" #f))
wxwin-base-srcs)
(define wxwin-msw-srcs
'("wx_buttn"
"wx_canvs"
"wx_check"
"wx_choic"
"wx_clipb"
"wx_cmdlg"
"wx_dc"
"wx_dialg"
"wx_frame"
"wx_gauge"
"wx_gbox"
"wx_gdi"
"wx_graph_glue"
"wx_item"
"wx_lbox"
"wx_main"
"wx_menu"
"wx_messg"
"wx_panel"
"wx_pdf"
"wx_rbox"
"wx_slidr"
"wx_tabc"
"wx_timer"
"wx_utils"
"wx_win"
"wximgfil"))
(for-each (lambda (x)
(wx-try "wxwindow/src/msw" "wxwin" x #t "cxx" #f))
wxwin-msw-srcs)
(define wxs-srcs
'("wxs_bmap"
"wxs_butn"
"wxs_chce"
"wxs_ckbx"
"wxs_cnvs"
"wxs_dc"
"wxs_evnt"
"wxs_fram"
"wxs_gage"
"wxs_gdi"
"wxs_glob"
"wxs_item"
"wxs_lbox"
"wxs_menu"
"wxs_misc"
"wxs_obj"
"wxs_panl"
"wxs_rado"
"wxs_slid"
"wxs_tabc"
"wxs_win"
"wxscheme"))
(for-each (lambda (x)
(wx-try "gracket/wxs" "wxs" x #t "cxx" #f))
wxs-srcs)
(define gracket-srcs
'("gracket"
"gracketmsw"))
(for-each (lambda (x)
(wx-try "gracket" "libgracket" x #t "cxx" #f))
gracket-srcs)
(wx-try "wxcommon" "wxme" "wxJPEG" #t "cxx" #f)
(wx-try "racket/utils" "wxme" "xcglue" #f "c" #f)
(c-compile "../../wxcommon/wxGC.cxx"
"xsrc/wxGC.obj"
null
(string-append wx-inc " -DMZ_PRECISE_GC -DGC2_AS_IMPORT -Dwx_msw"))
(let ([objs (append (list
"xsrc/uniplt.obj"
"xsrc/wxGC.obj"
"xsrc/wxJPEG.obj"
"xsrc/xcglue.obj")
(map
(lambda (n)
(format "xsrc/~a.obj" n))
(append wxwin-base-srcs
wxwin-msw-srcs
wxs-srcs
gracket-srcs)))]
[libs (list
"../../../lib/msvc/libracket3mxxxxxxx.lib"
"../wxutils/Release/wxutils.lib"
"../jpeg/Release/jpeg.lib"
"../png/Release/png.lib"
"../zlib/Release/zlib.lib")]
[win-libs (list
"comctl32.lib" "glu32.lib" "opengl32.lib"
"gdi32.lib" "comdlg32.lib" "advapi32.lib"
"shell32.lib" "ole32.lib" "oleaut32.lib"
"winmm.lib")])
(link-dll (append objs libs) null win-libs "../../../lib/libgracket3mxxxxxxx.dll" "" #f))
(wx-try "gracket" "gracket" "grmain" #f "cxx" #t)
(try "../../gracket/grmain.c"
(list* "../../gracket/grmain.c"
common-deps)
"xsrc/grmain.c"
"xsrc/grmain.obj"
wx-inc
#f
""
"/DWIN32 "
#f
#t)
(check-rc "gracket.res" "../gracket/gracket.rc")
@ -479,11 +337,9 @@
"gracket.res"
"xsrc/grmain.obj"
"xsrc/uniplt.obj"
"../../../lib/msvc/libracket3mxxxxxxx.lib"
"../../../lib/msvc/libgracket3mxxxxxxx.lib")])
"../../../lib/msvc/libracket3mxxxxxxx.lib")])
(link-dll objs
'("libracket3mxxxxxxx.dll"
"libgracket3mxxxxxxx.dll")
'("libracket3mxxxxxxx.dll")
'("advapi32.lib"
"delayimp.lib")
"../../../GRacket.exe" " /subsystem:windows" #t))

View File

@ -1,6 +1,5 @@
//Microsoft Developer Studio generated resource script.
//
#include "wx.rc"
/////////////////////////////////////////////////////////////////////////////
//

View File

@ -27,34 +27,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libracket", "..\libracket\l
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmzgc", "..\libmzgc\libmzgc.vcproj", "{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg", "..\jpeg\jpeg.vcproj", "{1549C7C5-AF41-43BE-B905-BA6374FE6BEC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "png", "..\png\png.vcproj", "{85CFDF8A-E7A2-4B6D-A0D2-1C75835B6AEA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxme", "..\wxme\wxme.vcproj", "{1C9F9C4D-FA97-4A56-8E7F-CA1EC99C35E3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxs", "..\wxs\wxs.vcproj", "{B9FC613A-B427-4DB5-B1E3-7673D384ECE3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxutils", "..\wxutils\wxutils.vcproj", "{31231DD7-4B8F-4E46-A747-81E41AFE04B5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxwin", "..\wxwin\wxwin.vcproj", "{5386B148-05B4-483B-B144-C3E2A6E15C78}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\zlib\zlib.vcproj", "{8CE7DC81-695B-436B-AA96-2D753846AFE5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|Win32 = Release|Win32
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D59A2B28-330B-41F5-8261-F5BC1019E163}.Debug|Win32.ActiveCfg = Debug|Win32
{D59A2B28-330B-41F5-8261-F5BC1019E163}.Debug|Win32.Build.0 = Debug|Win32
{D59A2B28-330B-41F5-8261-F5BC1019E163}.Release|Win32.ActiveCfg = Release|Win32
{D59A2B28-330B-41F5-8261-F5BC1019E163}.Release|Win32.Build.0 = Release|Win32
{81BD2D42-F150-493D-94BA-88585B202789}.Debug|Win32.ActiveCfg = Debug|Win32
{81BD2D42-F150-493D-94BA-88585B202789}.Debug|Win32.Build.0 = Debug|Win32
{81BD2D42-F150-493D-94BA-88585B202789}.Release|Win32.ActiveCfg = Release|Win32
{81BD2D42-F150-493D-94BA-88585B202789}.Release|Win32.Build.0 = Release|Win32
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Debug|Win32.ActiveCfg = Debug|Win32
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Debug|Win32.Build.0 = Debug|Win32
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Release|Win32.ActiveCfg = Release|Win32
@ -63,34 +45,6 @@ Global
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Debug|Win32.Build.0 = Debug|Win32
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Release|Win32.ActiveCfg = Release|Win32
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Release|Win32.Build.0 = Release|Win32
{1549C7C5-AF41-43BE-B905-BA6374FE6BEC}.Debug|Win32.ActiveCfg = Debug|Win32
{1549C7C5-AF41-43BE-B905-BA6374FE6BEC}.Debug|Win32.Build.0 = Debug|Win32
{1549C7C5-AF41-43BE-B905-BA6374FE6BEC}.Release|Win32.ActiveCfg = Release|Win32
{1549C7C5-AF41-43BE-B905-BA6374FE6BEC}.Release|Win32.Build.0 = Release|Win32
{85CFDF8A-E7A2-4B6D-A0D2-1C75835B6AEA}.Debug|Win32.ActiveCfg = Debug|Win32
{85CFDF8A-E7A2-4B6D-A0D2-1C75835B6AEA}.Debug|Win32.Build.0 = Debug|Win32
{85CFDF8A-E7A2-4B6D-A0D2-1C75835B6AEA}.Release|Win32.ActiveCfg = Release|Win32
{85CFDF8A-E7A2-4B6D-A0D2-1C75835B6AEA}.Release|Win32.Build.0 = Release|Win32
{1C9F9C4D-FA97-4A56-8E7F-CA1EC99C35E3}.Debug|Win32.ActiveCfg = Debug|Win32
{1C9F9C4D-FA97-4A56-8E7F-CA1EC99C35E3}.Debug|Win32.Build.0 = Debug|Win32
{1C9F9C4D-FA97-4A56-8E7F-CA1EC99C35E3}.Release|Win32.ActiveCfg = Release|Win32
{1C9F9C4D-FA97-4A56-8E7F-CA1EC99C35E3}.Release|Win32.Build.0 = Release|Win32
{B9FC613A-B427-4DB5-B1E3-7673D384ECE3}.Debug|Win32.ActiveCfg = Debug|Win32
{B9FC613A-B427-4DB5-B1E3-7673D384ECE3}.Debug|Win32.Build.0 = Debug|Win32
{B9FC613A-B427-4DB5-B1E3-7673D384ECE3}.Release|Win32.ActiveCfg = Release|Win32
{B9FC613A-B427-4DB5-B1E3-7673D384ECE3}.Release|Win32.Build.0 = Release|Win32
{31231DD7-4B8F-4E46-A747-81E41AFE04B5}.Debug|Win32.ActiveCfg = Debug|Win32
{31231DD7-4B8F-4E46-A747-81E41AFE04B5}.Debug|Win32.Build.0 = Debug|Win32
{31231DD7-4B8F-4E46-A747-81E41AFE04B5}.Release|Win32.ActiveCfg = Release|Win32
{31231DD7-4B8F-4E46-A747-81E41AFE04B5}.Release|Win32.Build.0 = Release|Win32
{5386B148-05B4-483B-B144-C3E2A6E15C78}.Debug|Win32.ActiveCfg = Debug|Win32
{5386B148-05B4-483B-B144-C3E2A6E15C78}.Debug|Win32.Build.0 = Debug|Win32
{5386B148-05B4-483B-B144-C3E2A6E15C78}.Release|Win32.ActiveCfg = Release|Win32
{5386B148-05B4-483B-B144-C3E2A6E15C78}.Release|Win32.Build.0 = Release|Win32
{8CE7DC81-695B-436B-AA96-2D753846AFE5}.Debug|Win32.ActiveCfg = Debug|Win32
{8CE7DC81-695B-436B-AA96-2D753846AFE5}.Debug|Win32.Build.0 = Debug|Win32
{8CE7DC81-695B-436B-AA96-2D753846AFE5}.Release|Win32.ActiveCfg = Release|Win32
{8CE7DC81-695B-436B-AA96-2D753846AFE5}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -43,7 +43,7 @@
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories="..,..\..\racket\gc,..\..\wxwindow\include\base,..\..\wxwindow\include\msw,..\..\racket\include,..\..\racket\utils,..\..\wxwindow\contrib\fafa"
AdditionalIncludeDirectories="..,..\..\racket\gc,..\..\racket\include"
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,__WINDOWS__,GC_DLL,__STDC__,_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
@ -130,7 +130,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..,..\..\racket\gc,..\..\wxwindow\include\base,..\..\wxwindow\include\msw,..\..\racket\include,..\..\racket\utils,..\..\wxwindow\contrib\fafa"
AdditionalIncludeDirectories="..,..\..\racket\gc,..\..\racket\include"
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,__WINDOWS__,GC_DLL,__STDC__,_CRT_SECURE_NO_DEPRECATE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -201,7 +201,7 @@
>
</File>
<File
RelativePath="..\..\gracket\grmain.cxx"
RelativePath="..\..\gracket\grmain.c"
>
</File>
<File
@ -213,14 +213,6 @@
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;fi;fd"
>
<File
RelativePath="..\..\gracket\gracket.h"
>
</File>
<File
RelativePath="..\..\racket\utils\xcglue.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"