Browse Source

* win32 compiles a bit better, no growheap crash

peter 27 years ago
parent
commit
765a36211c
4 changed files with 81 additions and 36 deletions
  1. 9 1
      compiler/makefile
  2. 6 3
      compiler/systems.pas
  3. 14 10
      rtl/linux/makefile
  4. 52 22
      rtl/win32/makefile

+ 9 - 1
compiler/makefile

@@ -177,6 +177,11 @@ PPDEFS:=-d$(CPU) -dGDB -dFPC
 # Set the needed compiler options
 PPOPTS:=$(OPT) $(PPDEFS) -Sg -T$(TARGET)
 
+# for win32 create at least 8 mb heap
+ifdef Win32
+PPOPTS:=$(PPOPTS) -Ch8000000
+endif
+
 # Unitdir specified ?
 ifneq ("$(UNITDIR)", "")
 PPOPTS:=$(PPOPTS) -Up$(UNITDIR)
@@ -451,7 +456,10 @@ $(M68KEXENAME):
 # Test of log at the end
 # does CVS add # at start of each line ??
 # $Log$
-# Revision 1.26  1998-08-21 14:08:46  pierre
+# Revision 1.27  1998-08-21 15:16:56  peter
+#   * win32 compiles a bit better, no growheap crash
+#
+# Revision 1.26  1998/08/21 14:08:46  pierre
 #   + TEST_FUNCRET now default (old code removed)
 #     works also for m68k (at least compiles)
 #

+ 6 - 3
compiler/systems.pas

@@ -657,8 +657,8 @@ implementation
             link        : link_ldw;
             assem       : as_asw;
             ar          : ar_arw;
-            heapsize    : 1024*1024;
-            stacksize   : 16384
+            heapsize    : 8192*1024;   { Until growing heap works !! (PFV) }
+            stacksize   : 32768
           )
 {$endif i386}
 {$ifdef m68k}
@@ -876,7 +876,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.26  1998-08-19 16:07:55  jonas
+  Revision 1.27  1998-08-21 15:16:57  peter
+    * win32 compiles a bit better, no growheap crash
+
+  Revision 1.26  1998/08/19 16:07:55  jonas
     * changed optimizer switches + cleanup of DestroyRefs in daopt386.pas
 
   Revision 1.25  1998/08/18 09:24:45  pierre

+ 14 - 10
rtl/linux/makefile

@@ -47,14 +47,15 @@ endif
 # If it is empty (default), the units will be left in separate files.
 ifndef LIBNAME
 LIBNAME=
-endif
 #LIBNAME=fpc
+endif
 
 # Should the library be shared or static (only if LIBNAME is set).
 # Set this to 'shared' or 'static' to create a librrary
 # Setting this to shared will disable smart linking.
 ifndef  LIBTYPE
 LIBTYPE=
+#LIBTYPE=static
 endif
 
 # What compiler to use ?
@@ -193,7 +194,8 @@ install :
 	$(INSTALL) *$(PPUEXT) *$(OEXT) $(UNITINSTALLDIR)
 
 clean :
-	-$(DEL) *.sl/ *$(OEXT) *$(ASMEXT) *$(PPUEXT) *.PPS log
+        -$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) *.PPS log
+        -$(DELTREE) *$(SMARTEXT)
 
 #####################################################################
 # Files
@@ -309,21 +311,20 @@ sharedlib:
 staticlibinstall: staticlib
 	$(MKDIR) $(STATIC_LIBINSTALLDIR)
 	$(MKDIR) $(STATIC_UNITINSTALLDIR)
-	$(INSTALLEXE) libfpc.a $(STATIC_LIBINSTALLDIR)
-	$(INSTALL) *$(PPUEXT) *.o $(STATIC_UNITINSTALLDIR)
+        $(INSTALLEXE) libfpc$(STATICLIBEXT) $(STATIC_LIBINSTALLDIR)
+        $(INSTALL) *$(PPUEXT) *$(OEXT) $(STATIC_UNITINSTALLDIR)
 
 sharedlibinstall: sharedlib
 	$(MKDIR) $(SHARED_LIBINSTALLDIR)
 	$(MKDIR) $(SHARED_UNITINSTALLDIR)
-	$(INSTALLEXE) libfpc.so $(SHARED_LIBINSTALLDIR)
-	$(INSTALL) *$(PPUEXT) *.o $(SHARED_UNITINSTALLDIR)
+        $(INSTALLEXE) libfpc$(SHAREDLIBEXT) $(SHARED_LIBINSTALLDIR)
+        $(INSTALL) *$(PPUEXT) *$(OEXT) $(SHARED_UNITINSTALLDIR)
 	ldconfig
 
 libinstall: staticlibinstall sharedlibinstall
 
 libsclean : clean
-	-$(DEL) *.a *.so *$(PPLEXT)
-
+        -$(DEL) *$(SMARTLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 
 #####################################################################
 # Default targets
@@ -333,7 +334,10 @@ include $(CFG)/makefile.def
 
 #
 # $Log$
-# Revision 1.20  1998-08-18 08:35:06  peter
+# Revision 1.21  1998-08-21 15:17:00  peter
+#   * win32 compiles a bit better, no growheap crash
+#
+# Revision 1.20  1998/08/18 08:35:06  peter
 #   * updated for new lib options
 #
 # Revision 1.19  1998/08/17 09:30:00  peter
@@ -345,4 +349,4 @@ include $(CFG)/makefile.def
 # Revision 1.17  1998/08/15 17:08:09  peter
 #   + support for cprt0.o
 #
-#
+#

+ 52 - 22
rtl/win32/makefile

@@ -53,17 +53,25 @@ ifndef PPUMOVE
 PPUMOVE=ppumove
 endif
 
-# Set this to 'shared' or 'static'
-LIBTYPE=shared
+# Use smartlinking ?
+ifndef SMARTLINK
+SMARTLINK=NO
+endif
 
-# AOUT should be defined in main makefile.
-# But you can set it here too.
-# AOUT = -DAOUT
+# Name of library ?
+# If this is set, all units will be put in the same library.
+# If it is empty (default), the units will be left in separate files.
+ifndef LIBNAME
+LIBNAME=
+#LIBNAME=fpc
+endif
 
-# Do you want to link to the C library ?
-# Standard it is NO. You can set it to YES to link in th C library.
-ifndef LINK_TO_C
-LINK_TO_C=NO
+# Should the library be shared or static (only if LIBNAME is set).
+# Set this to 'shared' or 'static' to create a librrary
+# Setting this to shared will disable smart linking.
+ifndef	LIBTYPE
+LIBTYPE=
+#LIBTYPE=static
 endif
 
 #####################################################################
@@ -108,13 +116,15 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 # System dependent
 #####################################################################
 
+# Override extensions
 PPUEXT=.ppw
+SHAREDLIBEXT=.dll
 
 # Define Linux Units
 SYSTEMPPU=syswin32$(PPUEXT)
 OBJECTS=strings objpas \
 	dos \
-        base messages defines
+	base messages defines
 
 # Add Prefix and Suffixes
 PPUOBJECTS=$(addsuffix $(PPUEXT), $(OBJECTS))
@@ -131,6 +141,7 @@ install : all
 
 clean :
 	-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) log
+	-$(DELTREE) *$(SMARTEXT)
 
 #####################################################################
 # Files
@@ -190,24 +201,43 @@ dos$(PPUEXT) : $(DOSDEPS) $(INC)/filerec.inc $(INC)/textrec.inc $(SYSTEMPPU)
 # Libs
 #####################################################################
 
-libs	: all libfpc$(LIBEXT)
-
-libfpc.so:
-	$(PPUMOVE) -o fpc *.ppu
-
-libfpc.a:
-	$(PPUMOVE) -s -o fpc *.ppu
-
-libinstall : libs
-	$(INSTALLEXE) libfpc$(LIBEXT) $(LIBINSTALLDIR)
-	$(INSTALL) *$(PPLEXT) $(UNITINSTALLDIR)
+staticlib:
+	make clean
+	make all SMARTLINK=YES LIBNAME=fpc LIBTYPE=static
+
+sharedlib:
+	make clean
+	make all
+	$(PPUMOVE) -o fpc $(SHAREDLIBFILES)
+
+staticlibinstall: staticlib
+	$(MKDIR) $(STATIC_LIBINSTALLDIR)
+	$(MKDIR) $(STATIC_UNITINSTALLDIR)
+	$(INSTALLEXE) libfpc$(STATICLIBEXT) $(STATIC_LIBINSTALLDIR)
+	$(INSTALL) *$(PPUEXT) *$(OEXT) $(STATIC_UNITINSTALLDIR)
+
+sharedlibinstall: sharedlib
+	$(MKDIR) $(SHARED_LIBINSTALLDIR)
+	$(MKDIR) $(SHARED_UNITINSTALLDIR)
+	$(INSTALLEXE) libfpc$(SHAREDLIBEXT) $(SHARED_LIBINSTALLDIR)
+	$(INSTALL) *$(PPUEXT) *$(OEXT) $(SHARED_UNITINSTALLDIR)
 	ldconfig
 
+libinstall: staticlibinstall
+
 libsclean : clean
-	-$(DEL) *.a *.so *$(PPLEXT)
+	-$(DEL) *$(SMARTLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 
 #####################################################################
 # Default targets
 #####################################################################
 
 include $(CFG)/makefile.def
+
+#
+# $Log$
+# Revision 1.7  1998-08-21 15:17:01  peter
+#   * win32 compiles a bit better, no growheap crash
+#
+#
+