C source and build changes to drop wx frm GRacket
This commit is contained in:
parent
e0e3870a62
commit
a574d9e7e4
2861
src/configure
vendored
2861
src/configure
vendored
File diff suppressed because it is too large
Load Diff
|
@ -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
565
src/gracket/grmain.c
Normal 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
|
|
@ -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();
|
||||
|
|
|
@ -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ð..¡ ..¡ */
|
||||
};
|
||||
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
/*========================================================================*/
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "wx.rc"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue
Block a user