diff --git a/src/README b/src/README index 67c8304a5f..3539fe56ef 100644 --- a/src/README +++ b/src/README @@ -29,14 +29,10 @@ Please report bugs via one of the following: To compile with Microsoft Visual C, read the instructions in plt\src\worksp\README. -To compile MzScheme with Cygwin tools, follow the Unix instructions -below. MrEd does not compile with Cygwin. - -Regardless of the compiler used to build MzScheme, compatible -extensions can be built with any of the other compilers. For example, -to support Borland-built extensions after compiling MzScheme with MSVC -or Cygwin, cd to plt\src\mzscheme\dynsrc and run mkbordyn.bat. (The -mkbordyn.bat script requires bcc23.exe.) +To compile with Cygwin tools, follow the Unix instructions below, and +be sure to configure with --enable-shared. The result is a Unix-style +build, not a Windows-style build (e.g., MzScheme's `system-type' +procedure returns 'unix, not 'windows, and MrEd uses X11). ======================================================================== Compiling for Mac OS X @@ -68,8 +64,7 @@ the Unix instructions below, but note the following: 'unix. ======================================================================== - Compiling for supported Unix variants (including Linux) - or Cygwin (MzScheme only) + Compiling for supported Unix variants (including Linux) or Cygwin ======================================================================== 0. If you have an old PLT installation in the target directory, @@ -143,7 +138,7 @@ the Unix instructions below, but note the following: 2. Run `make'. [As noted in step 0, this must be GNU `make'.] - With Cygwin, use `make --unix'. + With Cygwin, you may need to use `make --unix'. Binaries and libraries are placed in subdirectories of the build directory. For example, the `mzscheme' binary appears in the @@ -170,19 +165,11 @@ the Unix instructions below, but note the following: --enabled-shared, beware that you may accumlate many old, unused versions of the dynamic libraries in plt/lib. - 4a. ONLY Cygwin: Create the other executables (besides mred.exe and - mzscheme.exe) by running - mzscheme.exe -mvqM- setup - in the plt directory (one directory up from here). The above makes - the .zo files, too, but add -n to the end of the command to skip - the .zo-compiling step. Afterwards, `plt/Setup PLT.exe' and - `plt/mzc.exe' work. - - 4b. ONLY Subversion users with in-place builds: the `make install' - step does not run plt/install for an in-place build, because old - .zo files typically need to be deleted, first. After an initial - in-place build, manually run ./install in the plt directory. For - later builds, manually run plt/bin/setup-plt. + 4. ONLY Subversion users with in-place builds: the `make install' + step does not run plt/install for an in-place build, because old + .zo files typically need to be deleted, first. After an initial + in-place build, manually run ./install in the plt directory. For + later builds, manually run plt/bin/setup-plt. After an "in-place" install without Subversion, the plt/src directory is no longer needed, and it can be safely deleted. Build information diff --git a/src/configure b/src/configure index 2ede7b63e2..3eba63ac98 100755 --- a/src/configure +++ b/src/configure @@ -314,7 +314,7 @@ ac_subdirs_all="$ac_subdirs_all foreign/gcc/libffi" ac_subdirs_all="$ac_subdirs_all llvm/llvm" ac_subdirs_all="$ac_subdirs_all wxcommon/jpeg" ac_subdirs_all="$ac_subdirs_all wxxt/src/x/wbuild" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CXX CXXFLAGS ac_ct_CXX CXXCPP RANLIB ac_ct_RANLIB PERL X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS PREFLAGS COMPFLAGS PROFFLAGS SED AS AR STATIC_AR ARFLAGS WBUILD CC_FOR_BUILD REZ MZLINKER PLAIN_CC x_includes x_libraries OPTIONS MZOPTIONS CGCOPTIONS GC2OPTIONS MROPTIONS GCDIR MZBINTARGET MZINSTALLTARGET EXTRA_GMP_OBJ OSX NOT_OSX FRAMEWORK_INSTALL_DIR MREDLINKER LIBSFX WXLIBS WXVARIANT ICP MRLIBINSTALL LIBFINISH MAKE_MRED MAKE_MRED3M MAKE_MREDINSTALL MAKE_MREDINSTALL3M MAKE_WBUILD MAKE_COPYTREE MAKE_FINISH WXPRECOMP USE_WXPRECOMP INCLUDEDEP WX_MMD_FLAG JPEG_A JPEG_INC ZLIB_A ZLIB_INC PNG_A OSKHOME EXTRA_OSK_LIBS FOREIGN_OBJSLIB_IF_USED FOREIGN_LIB_IF_USED FOREIGN_OBJSLIB FOREIGN_CONVENIENCE FOREIGNTARGET LLVMTARGET LTO LTA subdirs LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CXX CXXFLAGS ac_ct_CXX CXXCPP RANLIB ac_ct_RANLIB PERL X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS PREFLAGS COMPFLAGS PROFFLAGS SED AS AR STATIC_AR ARFLAGS WBUILD CC_FOR_BUILD REZ MZLINKER PLAIN_CC x_includes x_libraries OPTIONS MZOPTIONS CGCOPTIONS GC2OPTIONS MROPTIONS GCDIR MZBINTARGET MZINSTALLTARGET EXTRA_GMP_OBJ OSX NOT_OSX FRAMEWORK_INSTALL_DIR MREDLINKER LIBSFX WXLIBS WXVARIANT ICP MRLIBINSTALL LIBFINISH MAKE_MRED MAKE_MRED3M MAKE_MREDINSTALL MAKE_MREDINSTALL3M MAKE_WBUILD MAKE_COPYTREE MAKE_FINISH WXPRECOMP USE_WXPRECOMP INCLUDEDEP WX_MMD_FLAG JPEG_A JPEG_INC ZLIB_A ZLIB_INC PNG_A OSKHOME EXTRA_OSK_LIBS FOREIGN_OBJSLIB_IF_USED FOREIGN_LIB_IF_USED FOREIGN_OBJSLIB FOREIGN_CONVENIENCE FOREIGNTARGET LIBMZSCHEME_DEP LIBMRED_DEP LLVMTARGET LTO LTA subdirs LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -5127,6 +5127,9 @@ PNG_A='$(PNG_A)' PREFLAGS="$CPPFLAGS" +ar_libtool_no_undefined="" +LIBMZSCHEME_DEP="" + ###### OSKit stuff ####### if test "${enable_oskit}" = "yes" ; then @@ -8550,7 +8553,12 @@ case $OS in # EXTRALIBS="$LIBS gmzwin.exp" # MZOPTIONS="$MZOPTIONS -DGC_DLL" # CGCOPTIONS="$CGCOPTIONS -DGC_DLL -DGC_BUILD -DUSE_MSVC_MD_LIBRARY -DMD_LIB_MAIN" - BUILD_CYGWIN_LIKE_UNIX=yes + MZINSTALLTARGET=unix-cygwin-install + if test "${enable_shared}" = "yes" ; then + ar_libtool_no_undefined=" -no-undefined" + LIBMZSCHEME_DEP="libmzgc.la -liconv" + LIBMRED_DEP="../mzscheme/libmzgc.la ../mzscheme/libmred.la" + fi ;; BeOS) if test "${enable_sgcdebug}" = "yes" ; then @@ -10859,7 +10867,7 @@ if test "${enable_shared}" = "yes" ; then plt_lib_version=`grep " MZSCHEME_VERSION " ${srcdir}/mzscheme/src/schvers.h | cut -d '"' -f 2` fi - AR="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc} -release ${plt_lib_version} -rpath ${absprefix}/lib -o" + AR="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc}${ar_libtool_no_undefined} -release ${plt_lib_version} -rpath ${absprefix}/lib -o" STATIC_AR="${LTDIR}/libtool --mode=link $CC -o" ARFLAGS="" RANLIB=":" @@ -10978,6 +10986,9 @@ LIBS="$LIBS $EXTRALIBS" + + + @@ -11844,6 +11855,8 @@ s,@FOREIGN_LIB_IF_USED@,$FOREIGN_LIB_IF_USED,;t t s,@FOREIGN_OBJSLIB@,$FOREIGN_OBJSLIB,;t t s,@FOREIGN_CONVENIENCE@,$FOREIGN_CONVENIENCE,;t t s,@FOREIGNTARGET@,$FOREIGNTARGET,;t t +s,@LIBMZSCHEME_DEP@,$LIBMZSCHEME_DEP,;t t +s,@LIBMRED_DEP@,$LIBMRED_DEP,;t t s,@LLVMTARGET@,$LLVMTARGET,;t t s,@LTO@,$LTO,;t t s,@LTA@,$LTA,;t t diff --git a/src/mred/Makefile.in b/src/mred/Makefile.in index 46ef0c02e6..82e930f0b4 100644 --- a/src/mred/Makefile.in +++ b/src/mred/Makefile.in @@ -102,7 +102,7 @@ mred : $(MZSCHEME) mrmain.@LTO@ $(MREDOBJECTS) $(@WXLIBS@) $(MRSTATIC_STUB) $(MREDLINKER) $(MREDLDFLAGS) $(MRSTATIC) -o mred $(MREDOBJECTS) $(MREDLDLIBS) $(MRSTATIC_STUB) libmred.@LIBSFX@: $(WXLIBSNORM) - $(AR) $(ARFLAGS) libmred.@LIBSFX@ $(WXLIBSNORM) + $(AR) $(ARFLAGS) libmred.@LIBSFX@ $(WXLIBSNORM) @LIBMRED_DEP@ MRFW = PLT_MrEd.framework/Versions/$(FWVERSION)/PLT_MrEd MRFWRES = PLT_MrEd.framework/Versions/$(FWVERSION)/Resources/PLT_MrEd.rsrc diff --git a/src/mzscheme/Makefile.in b/src/mzscheme/Makefile.in index 6061b8c899..132f53ddd6 100644 --- a/src/mzscheme/Makefile.in +++ b/src/mzscheme/Makefile.in @@ -45,6 +45,7 @@ normal-bin: $(MAKE) mzlibrary $(MAKE) mzscheme +# OBSOLTE: cygwin-bin: $(MAKE) starter $(MAKE) dynlib @@ -72,6 +73,7 @@ oe: $(MAKE) dynlib cd dynsrc; $(MAKE) oe +# OBSOLTE: cygwin-dll-setup: cd src; $(MAKE) mzheaders $(MAKE) gmzwin.exp @@ -108,7 +110,7 @@ mzlibrary: $(MAKE) libmzscheme.@LIBSFX@ libmzscheme.@LIBSFX@: src/*.@LTO@ @FOREIGN_LIB_IF_USED@ - $(AR) $(ARFLAGS) libmzscheme.@LIBSFX@ src/*.@LTO@ @FOREIGN_OBJSLIB_IF_USED@ + $(AR) $(ARFLAGS) libmzscheme.@LIBSFX@ src/*.@LTO@ @FOREIGN_OBJSLIB_IF_USED@ @LIBMZSCHEME_DEP@ $(RANLIB) libmzscheme.@LIBSFX@ # Irix sproc, only @@ -121,6 +123,7 @@ mzscheme@NOT_OSX@: libmzscheme.@LIBSFX@ libmzgc.@LIBSFX@ main.@LTO@ $(SPECIALIZI @MZLINKER@ -o mzscheme main.@LTO@ $(SPECIALIZINGOBJECTS) libmzscheme.@LIBSFX@ libmzgc.@LIBSFX@ @LDFLAGS@ @LIBS@ # Cygwin ---------------------------------------- +# OBSOLTE: libmzgcxxxxxxx.dll : libmzgc.a gcc -mdll -o libmzgcxxxxxxx.dll -Wl,--whole-archive libmzgc.a -Wl,--no-whole-archive @@ -267,11 +270,10 @@ ICP=@ICP@ # Prefix might be relative to srcdir, or it might be absolute, so we # have to go up and install things from there. -normal-install: +unix-install: cd ..; if [ ! -d $(prefix)/bin ] ; then mkdir $(prefix)/bin ; fi cd ..; rm -f $(prefix)/bin/mzscheme cd ..; if [ ! -d $(LIBIDIR) ] ; then mkdir $(LIBIDIR) ; fi - cd ..; cp mzscheme/mzdyn.o $(LIBIDIR)/mzdyn.o cd ..; $(ICP) mzscheme/libmzgc.@LIBSFX@ $(LIBIDIR)/libmzgc.@LIBSFX@ cd ..; $(ICP) mzscheme/libmzscheme.@LIBSFX@ $(LIBIDIR)/libmzscheme.@LIBSFX@ cd ..; $(ICP) mzscheme/mzscheme `(cd $(prefix); pwd)`/bin/mzscheme @@ -282,6 +284,10 @@ normal-install: cd ..; echo "LDFLAGS=@LDFLAGS@" >> $(BUILDINFO) cd ..; echo 'LIBS=@LIBS@' >> $(BUILDINFO) +normal-install: + $(MAKE) unix-install + cd ..; cp mzscheme/mzdyn.o $(LIBIDIR)/mzdyn.o + MZFWDIR = @FRAMEWORK_INSTALL_DIR@/PLT_MzScheme.framework osx-install: @@ -306,6 +312,7 @@ install-3m@OSX@: WLIBIDIR=`(cd $(prefix); pwd)`/lib WBUILDINFO=$(WLIBIDIR)/buildinfo +# OBSOLTE: cygwin-install: cd ..; rm -f $(prefix)/mzscheme.exe cd ..; cp mzscheme/mzscheme.exe $(prefix)/mzscheme.exe @@ -318,5 +325,9 @@ cygwin-install: cd ..; echo 'CFLAGS=@CFLAGS@ @OPTIONS@' >> $(WBUILDINFO) cd ..; echo 'LIBS=@LIBS@' >> $(WBUILDINFO) +unix-cygwin-install: + $(MAKE) unix-install + cd dynsrc; $(MAKE) cygwin-install + config: autoconf $(srcdir)/configure.ac | mzscheme -qr $(srcdir)/clean_ac.ss > $(srcdir)/../configure diff --git a/src/mzscheme/configure.ac b/src/mzscheme/configure.ac index f99cc34638..d5c3f6afe1 100644 --- a/src/mzscheme/configure.ac +++ b/src/mzscheme/configure.ac @@ -197,6 +197,9 @@ PNG_A='$(PNG_A)' PREFLAGS="$CPPFLAGS" +ar_libtool_no_undefined="" +LIBMZSCHEME_DEP="" + ###### OSKit stuff ####### if test "${enable_oskit}" = "yes" ; then @@ -422,7 +425,12 @@ case $OS in # EXTRALIBS="$LIBS gmzwin.exp" # MZOPTIONS="$MZOPTIONS -DGC_DLL" # CGCOPTIONS="$CGCOPTIONS -DGC_DLL -DGC_BUILD -DUSE_MSVC_MD_LIBRARY -DMD_LIB_MAIN" - BUILD_CYGWIN_LIKE_UNIX=yes + MZINSTALLTARGET=unix-cygwin-install + if test "${enable_shared}" = "yes" ; then + ar_libtool_no_undefined=" -no-undefined" + LIBMZSCHEME_DEP="libmzgc.la -liconv" + LIBMRED_DEP="../mzscheme/libmzgc.la ../mzscheme/libmred.la" + fi ;; BeOS) if test "${enable_sgcdebug}" = "yes" ; then @@ -926,7 +934,7 @@ if test "${enable_shared}" = "yes" ; then plt_lib_version=`grep " MZSCHEME_VERSION " ${srcdir}/mzscheme/src/schvers.h | cut -d '"' -f 2` fi - AR="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc} -release ${plt_lib_version} -rpath ${absprefix}/lib -o" + AR="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc}${ar_libtool_no_undefined} -release ${plt_lib_version} -rpath ${absprefix}/lib -o" STATIC_AR="${LTDIR}/libtool --mode=link $CC -o" ARFLAGS="" RANLIB=":" @@ -1044,6 +1052,9 @@ AC_SUBST(FOREIGN_OBJSLIB) AC_SUBST(FOREIGN_CONVENIENCE) AC_SUBST(FOREIGNTARGET) +AC_SUBST(LIBMZSCHEME_DEP) +AC_SUBST(LIBMRED_DEP) + AC_SUBST(LLVMTARGET) AC_SUBST(LTO) diff --git a/src/mzscheme/dynsrc/Makefile.in b/src/mzscheme/dynsrc/Makefile.in index 2a7528f071..eb1991f5d5 100644 --- a/src/mzscheme/dynsrc/Makefile.in +++ b/src/mzscheme/dynsrc/Makefile.in @@ -46,6 +46,9 @@ ILIBDIR = $(prefix)/lib # Prefix might be relative to srcdir, or it might be absolute, so we # have to go up and install things from there. +# Not obsolete --- the following is still used for Unix-style Cygwin, although +# the generated .lib files are useful only when building extensions to be +# linked with the MSVC-built MzScheme cygwin-install: gcc -c -O2 -I$(builddir)/.. -I$(srcdir)/../include $(srcdir)/mzdyn.c gcc -c $(srcdir)/init.cc diff --git a/src/mzscheme/include/mzscheme.exp b/src/mzscheme/include/mzscheme.exp index 9fd9355432..c9556aef0a 100644 --- a/src/mzscheme/include/mzscheme.exp +++ b/src/mzscheme/include/mzscheme.exp @@ -296,7 +296,6 @@ scheme_print_to_string scheme_write_to_string_w_max scheme_display_to_string_w_max scheme_print_to_string_w_max -scheme_print_to_string_w_max scheme_debug_print scheme_flush_output scheme_format @@ -337,7 +336,6 @@ scheme_close_input_port scheme_close_output_port scheme_write_special scheme_write_special_nonblock -scheme_make_read_evt scheme_make_write_evt scheme_make_port_type scheme_make_input_port @@ -359,7 +357,6 @@ scheme_make_fd_output_port scheme_make_byte_string_input_port scheme_make_sized_byte_string_input_port scheme_make_byte_string_output_port -scheme_get_byte_string_output scheme_get_sized_byte_string_output scheme_pipe scheme_pipe_with_limit diff --git a/src/mzscheme/include/mzscheme3m.exp b/src/mzscheme/include/mzscheme3m.exp index 57a026e65a..a81576b95b 100644 --- a/src/mzscheme/include/mzscheme3m.exp +++ b/src/mzscheme/include/mzscheme3m.exp @@ -303,7 +303,6 @@ scheme_print_to_string scheme_write_to_string_w_max scheme_display_to_string_w_max scheme_print_to_string_w_max -scheme_print_to_string_w_max scheme_debug_print scheme_flush_output scheme_format @@ -344,7 +343,6 @@ scheme_close_input_port scheme_close_output_port scheme_write_special scheme_write_special_nonblock -scheme_make_read_evt scheme_make_write_evt scheme_make_port_type scheme_make_input_port @@ -366,7 +364,6 @@ scheme_make_fd_output_port scheme_make_byte_string_input_port scheme_make_sized_byte_string_input_port scheme_make_byte_string_output_port -scheme_get_byte_string_output scheme_get_sized_byte_string_output scheme_pipe scheme_pipe_with_limit diff --git a/src/mzscheme/include/mzwin.def b/src/mzscheme/include/mzwin.def index 7b69591d0c..f9cf0cc10c 100644 --- a/src/mzscheme/include/mzwin.def +++ b/src/mzscheme/include/mzwin.def @@ -288,7 +288,6 @@ EXPORTS scheme_write_to_string_w_max scheme_display_to_string_w_max scheme_print_to_string_w_max - scheme_print_to_string_w_max scheme_debug_print scheme_flush_output scheme_format @@ -329,7 +328,6 @@ EXPORTS scheme_close_output_port scheme_write_special scheme_write_special_nonblock - scheme_make_read_evt scheme_make_write_evt scheme_make_port_type scheme_make_input_port @@ -351,7 +349,6 @@ EXPORTS scheme_make_byte_string_input_port scheme_make_sized_byte_string_input_port scheme_make_byte_string_output_port - scheme_get_byte_string_output scheme_get_sized_byte_string_output scheme_pipe scheme_pipe_with_limit diff --git a/src/mzscheme/sconfig.h b/src/mzscheme/sconfig.h index 371c8f1900..d0f8717b7d 100644 --- a/src/mzscheme/sconfig.h +++ b/src/mzscheme/sconfig.h @@ -605,6 +605,8 @@ # define REGISTER_POOR_MACHINE +# define LINK_EXTENSIONS_BY_TABLE + # define FLAGS_ALREADY_SET #endif diff --git a/src/mzscheme/src/schemef.h b/src/mzscheme/src/schemef.h index 44fd3decb6..0a317556a0 100644 --- a/src/mzscheme/src/schemef.h +++ b/src/mzscheme/src/schemef.h @@ -609,7 +609,6 @@ MZ_EXTERN char *scheme_print_to_string(Scheme_Object *obj, long *len); MZ_EXTERN char *scheme_write_to_string_w_max(Scheme_Object *obj, long *len, long maxl); MZ_EXTERN char *scheme_display_to_string_w_max(Scheme_Object *obj, long *len, long maxl); MZ_EXTERN char *scheme_print_to_string_w_max(Scheme_Object *obj, long *len, long maxl); -MZ_EXTERN char *scheme_print_to_string_w_max(Scheme_Object *obj, long *len, long maxl); MZ_EXTERN void scheme_debug_print(Scheme_Object *obj); MZ_EXTERN void scheme_flush_output(Scheme_Object *port); @@ -674,10 +673,6 @@ MZ_EXTERN void scheme_close_output_port(Scheme_Object *port); MZ_EXTERN Scheme_Object *scheme_write_special(int argc, Scheme_Object *argv[]); MZ_EXTERN Scheme_Object *scheme_write_special_nonblock(int argc, Scheme_Object *argv[]); -MZ_EXTERN Scheme_Object *scheme_make_read_evt(const char *who, Scheme_Object *port, - char *str, long start, long size, - int peek, Scheme_Object *peek_skip, - int byte_or_spec); MZ_EXTERN Scheme_Object *scheme_make_write_evt(const char *who, Scheme_Object *port, Scheme_Object *special, char *str, long start, long size); @@ -732,7 +727,6 @@ MZ_EXTERN Scheme_Object *scheme_make_fd_output_port(int fd, Scheme_Object *name, MZ_EXTERN Scheme_Object *scheme_make_byte_string_input_port(const char *str); MZ_EXTERN Scheme_Object *scheme_make_sized_byte_string_input_port(const char *str, long len); MZ_EXTERN Scheme_Object *scheme_make_byte_string_output_port(); -MZ_EXTERN char *scheme_get_byte_string_output(Scheme_Object *); MZ_EXTERN char *scheme_get_sized_byte_string_output(Scheme_Object *, long *len); MZ_EXTERN void scheme_pipe(Scheme_Object **read, Scheme_Object **write); diff --git a/src/mzscheme/src/schemex.h b/src/mzscheme/src/schemex.h index 9a1385f6d1..b3bd31758e 100644 --- a/src/mzscheme/src/schemex.h +++ b/src/mzscheme/src/schemex.h @@ -502,7 +502,6 @@ char *(*scheme_print_to_string)(Scheme_Object *obj, long *len); char *(*scheme_write_to_string_w_max)(Scheme_Object *obj, long *len, long maxl); char *(*scheme_display_to_string_w_max)(Scheme_Object *obj, long *len, long maxl); char *(*scheme_print_to_string_w_max)(Scheme_Object *obj, long *len, long maxl); -char *(*scheme_print_to_string_w_max)(Scheme_Object *obj, long *len, long maxl); void (*scheme_debug_print)(Scheme_Object *obj); void (*scheme_flush_output)(Scheme_Object *port); char *(*scheme_format)(mzchar *format, int flen, int argc, Scheme_Object **argv, long *rlen); @@ -563,10 +562,6 @@ void (*scheme_close_input_port)(Scheme_Object *port); void (*scheme_close_output_port)(Scheme_Object *port); Scheme_Object *(*scheme_write_special)(int argc, Scheme_Object *argv[]); Scheme_Object *(*scheme_write_special_nonblock)(int argc, Scheme_Object *argv[]); -Scheme_Object *(*scheme_make_read_evt)(const char *who, Scheme_Object *port, - char *str, long start, long size, - int peek, Scheme_Object *peek_skip, - int byte_or_spec); Scheme_Object *(*scheme_make_write_evt)(const char *who, Scheme_Object *port, Scheme_Object *special, char *str, long start, long size); Scheme_Object *(*scheme_make_port_type)(const char *name); @@ -614,7 +609,6 @@ Scheme_Object *(*scheme_make_fd_output_port)(int fd, Scheme_Object *name, int re Scheme_Object *(*scheme_make_byte_string_input_port)(const char *str); Scheme_Object *(*scheme_make_sized_byte_string_input_port)(const char *str, long len); Scheme_Object *(*scheme_make_byte_string_output_port)(); -char *(*scheme_get_byte_string_output)(Scheme_Object *); char *(*scheme_get_sized_byte_string_output)(Scheme_Object *, long *len); void (*scheme_pipe)(Scheme_Object **read, Scheme_Object **write); void (*scheme_pipe_with_limit)(Scheme_Object **write, Scheme_Object **read, int maxsize); diff --git a/src/mzscheme/src/schemex.inc b/src/mzscheme/src/schemex.inc index 80999aebe2..8d2bd3ca74 100644 --- a/src/mzscheme/src/schemex.inc +++ b/src/mzscheme/src/schemex.inc @@ -341,7 +341,6 @@ scheme_extension_table->scheme_write_to_string_w_max = scheme_write_to_string_w_max; scheme_extension_table->scheme_display_to_string_w_max = scheme_display_to_string_w_max; scheme_extension_table->scheme_print_to_string_w_max = scheme_print_to_string_w_max; - scheme_extension_table->scheme_print_to_string_w_max = scheme_print_to_string_w_max; scheme_extension_table->scheme_debug_print = scheme_debug_print; scheme_extension_table->scheme_flush_output = scheme_flush_output; scheme_extension_table->scheme_format = scheme_format; @@ -382,7 +381,6 @@ scheme_extension_table->scheme_close_output_port = scheme_close_output_port; scheme_extension_table->scheme_write_special = scheme_write_special; scheme_extension_table->scheme_write_special_nonblock = scheme_write_special_nonblock; - scheme_extension_table->scheme_make_read_evt = scheme_make_read_evt; scheme_extension_table->scheme_make_write_evt = scheme_make_write_evt; scheme_extension_table->scheme_make_port_type = scheme_make_port_type; scheme_extension_table->scheme_make_input_port = scheme_make_input_port; @@ -404,7 +402,6 @@ scheme_extension_table->scheme_make_byte_string_input_port = scheme_make_byte_string_input_port; scheme_extension_table->scheme_make_sized_byte_string_input_port = scheme_make_sized_byte_string_input_port; scheme_extension_table->scheme_make_byte_string_output_port = scheme_make_byte_string_output_port; - scheme_extension_table->scheme_get_byte_string_output = scheme_get_byte_string_output; scheme_extension_table->scheme_get_sized_byte_string_output = scheme_get_sized_byte_string_output; scheme_extension_table->scheme_pipe = scheme_pipe; scheme_extension_table->scheme_pipe_with_limit = scheme_pipe_with_limit; diff --git a/src/mzscheme/src/schemexm.h b/src/mzscheme/src/schemexm.h index ed914bb583..e714ef6cff 100644 --- a/src/mzscheme/src/schemexm.h +++ b/src/mzscheme/src/schemexm.h @@ -341,7 +341,6 @@ #define scheme_write_to_string_w_max (scheme_extension_table->scheme_write_to_string_w_max) #define scheme_display_to_string_w_max (scheme_extension_table->scheme_display_to_string_w_max) #define scheme_print_to_string_w_max (scheme_extension_table->scheme_print_to_string_w_max) -#define scheme_print_to_string_w_max (scheme_extension_table->scheme_print_to_string_w_max) #define scheme_debug_print (scheme_extension_table->scheme_debug_print) #define scheme_flush_output (scheme_extension_table->scheme_flush_output) #define scheme_format (scheme_extension_table->scheme_format) @@ -382,7 +381,6 @@ #define scheme_close_output_port (scheme_extension_table->scheme_close_output_port) #define scheme_write_special (scheme_extension_table->scheme_write_special) #define scheme_write_special_nonblock (scheme_extension_table->scheme_write_special_nonblock) -#define scheme_make_read_evt (scheme_extension_table->scheme_make_read_evt) #define scheme_make_write_evt (scheme_extension_table->scheme_make_write_evt) #define scheme_make_port_type (scheme_extension_table->scheme_make_port_type) #define scheme_make_input_port (scheme_extension_table->scheme_make_input_port) @@ -404,7 +402,6 @@ #define scheme_make_byte_string_input_port (scheme_extension_table->scheme_make_byte_string_input_port) #define scheme_make_sized_byte_string_input_port (scheme_extension_table->scheme_make_sized_byte_string_input_port) #define scheme_make_byte_string_output_port (scheme_extension_table->scheme_make_byte_string_output_port) -#define scheme_get_byte_string_output (scheme_extension_table->scheme_get_byte_string_output) #define scheme_get_sized_byte_string_output (scheme_extension_table->scheme_get_sized_byte_string_output) #define scheme_pipe (scheme_extension_table->scheme_pipe) #define scheme_pipe_with_limit (scheme_extension_table->scheme_pipe_with_limit) diff --git a/src/worksp/README b/src/worksp/README index d58910a384..9d71e616e4 100644 --- a/src/worksp/README +++ b/src/worksp/README @@ -13,11 +13,17 @@ Studio files for MzCOM. Visual Studio Express is available for free from Microsoft, and it is the recommended compiler for building PLT Scheme. -MzScheme (but not MzCOM or MrEd) also compiles with Cygwin gcc (a -free compiler from GNU and Cygnus Solutions); to compile with gcc, +MzScheme and MrEd also compile with Cygwin gcc (a free compiler from +GNU and Cygnus Solutions), but the result is a Unix-style +installation, not a Window-style installation. To compile with gcc, follow the instructions in plt\src\README (there is a short Windows-specific section in that file). +With an MSVC-built MzScheme, compatible extensions can be built with +other compilers. Build with Cygwin and copy the installed plt\lib\gcc +to a MSVC-based build to support Cygwin-built extensions. To support +Borland-built extensions, cd to plt\src\mzscheme\dynsrc and run +mkbordyn.bat (which requires bcc23.exe, of course). As always, please report bugs via one of the following: - Help Desk's "submit bug report" link (preferred)