diff --git a/makefile.linux.clang.powerpc b/makefile.linux.clang.powerpc new file mode 100644 index 00000000..5c09626a --- /dev/null +++ b/makefile.linux.clang.powerpc @@ -0,0 +1,303 @@ +#SHELL := /bin/bash +BUILDID=$(shell date +%Y/%m/%d) +TOS = linux +TARCH = powerpc +#TARCH = x86 x86_64 armv6j armv6j_hardfp armv7a_hardfp powerpc +CCOMP = clang +RELEASE = 1.0 + + +INCLUDEPATH = -Isrc/lib/system/$(TOS)/$(CCOMP)/$(TARCH) + +SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system/$(TOS)/$(CCOMP):src/lib/system/$(TOS)/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(TOS)/$(CCOMP):src/lib/ooc:src/lib/ooc/$(TOS)/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(TOS)/$(CCOMP):src/voc/$(TOS)/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test + +VOC = voc +VERSION = $(TOS).$(CCOMP).$(TARCH) +VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH) +VOCSTATIC = $(SETPATH) ./voc +VOCPARAM = $(shell ./vocparam > voc.par) +LIBNAME = VishapOberon +LIBRARY = lib$(LIBNAME) + +ifndef PRF +PRF = "/opt" +endif +PREFIX = $(PRF)/voc-$(RELEASE) +PREFIXLN = $(PRF)/voc + +CCOPT = -fPIC $(INCLUDEPATH) -g + +CC = clang $(CCOPT) -c +CL = clang $(CCOPT) +LD = clang -shared -lX11 -o $(LIBRARY).so +# s is necessary to create index inside a archive +ARCHIVE = ar rcs $(LIBRARY).a + +#%.c: %.Mod +#%.o: %.c +# $(CC) $(input) + +all: stage2 stage3 stage4 stage5 stage6 stage7 + +# when porting to new platform: +# * put corresponding .par file into current directory. it can be generated on the target platform by compiling vocparam (stage0) and running (stage1) +# * run make port0 - this will generate C source files for the target architecture +# * move the source tree to the target machine, and compile (or compile here via crosscompiler) (port1) +port0: stage2 stage3 stage4 + +# now compile C source files for voc, showdef and ocat on target machine (or by using crosscompiler) +port1: stage5 +# after you have "voc" compiled for target architecture. replace vocstatic with it and run make on target platform to get everything compiled + +# this builds binary which generates voc.par +stage0: src/tools/vocparam/vocparam.c + $(CL) -I src/lib -o vocparam src/tools/vocparam/vocparam.c + +# this creates voc.par for a host architecture. +# comment this out if you need to build a compiler for a different architecture. +stage1: + #rm voc.par + #$(shell "./vocparam > voc.par") + #./vocparam > voc.par + $(VOCPARAM) + +# this copies necessary voc.par to the current directory. +# skip this if you are building compiler for the host architecture. +stage2: + cp src/par/voc.par.$(CCOMP).$(TARCH) voc.par +# cp src/par/voc.par.gnu.x86_64 voc.par +# cp src/par/voc.par.gnu.x86 voc.par +# cp src/par/voc.par.gnu.armv6 voc.par +# cp src/par/voc.par.gnu.armv7 voc.par + cp src/voc/prf.Mod_default src/voc/prf.Mod + +# this prepares modules necessary to build the compiler itself +stage3: + + $(VOCSTATIC0) -siapxPS SYSTEM.Mod + $(VOCSTATIC0) -sPS Args.Mod Console.Mod Unix.Mod + sed -i.tmp "s#/opt#$(PRF)#g" src/voc/prf.Mod + $(VOCSTATIC0) -sPS prf.Mod + $(VOCSTATIC0) -sPS oocOakStrings.Mod architecture.Mod version.Mod Kernel0.Mod Modules.Mod + $(VOCSTATIC0) -sxPS Files0.Mod + $(VOCSTATIC0) -sPS Reals.Mod Texts0.Mod errors.Mod + +# build the compiler +stage4: + $(VOCSTATIC0) -sPS extTools.Mod + $(VOCSTATIC0) -sPS OPM.cmdln.Mod + $(VOCSTATIC0) -sxPS OPS.Mod + $(VOCSTATIC0) -sPS OPT.Mod OPC.Mod OPV.Mod OPB.Mod OPP.Mod + $(VOCSTATIC0) -smPS voc.Mod + $(VOCSTATIC0) -smPS BrowserCmd.Mod + $(VOCSTATIC0) -smPS OCatCmd.Mod + +#this is to build the compiler from C sources. +#this is a way to create a bootstrap binary. +stage5: + $(CC) SYSTEM.c Args.c Console.c Modules.c Unix.c \ + oocOakStrings.c architecture.c prf.c version.c Kernel0.c Files0.c Reals.c Texts0.c \ + extTools.c \ + OPM.c OPS.c OPT.c OPC.c OPV.c OPB.c OPP.c errors.c + + $(CL) -static voc.c -o voc \ + SYSTEM.o Args.o Console.o Modules.o Unix.o \ + oocOakStrings.o architecture.o prf.o version.o Kernel0.o Files0.o Reals.o Texts0.o \ + extTools.o \ + OPM.o OPS.o OPT.o OPC.o OPV.o OPB.o OPP.o errors.o + $(CL) BrowserCmd.c -o showdef \ + SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o prf.o version.o Kernel0.o Files0.o Reals.o Texts0.o \ + OPM.o OPS.o OPT.o OPV.o OPC.o errors.o + + $(CL) OCatCmd.c -o ocat \ + SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o prf.o version.o Kernel0.o Files0.o Reals.o Texts0.o + +# build all library files +stage6: + #v4 libs + $(VOCSTATIC) -sP Kernel.Mod + $(VOCSTATIC) -sP Files.Mod + $(VOCSTATIC) -sP Texts.Mod + $(VOCSTATIC) -sP Printer.Mod + $(VOCSTATIC) -sP Strings.Mod + $(VOCSTATIC) -sP Sets.Mod + $(VOCSTATIC) -sP Sets0.Mod + + #ooc libs + $(VOCSTATIC) -sP oocAscii.Mod + $(VOCSTATIC) -sP oocStrings.Mod + $(VOCSTATIC) -sP oocStrings2.Mod + $(VOCSTATIC) -sP oocCharClass.Mod + $(VOCSTATIC) -sP oocConvTypes.Mod + $(VOCSTATIC) -sP oocIntConv.Mod + $(VOCSTATIC) -sP oocIntStr.Mod + $(VOCSTATIC) -sP oocSysClock.Mod + $(VOCSTATIC) -sP oocTime.Mod +# $(VOCSTATIC) -s oocLongStrings.Mod +# $(CC) oocLongStrings.c +# $(VOCSTATIC) -s oocMsg.Mod +# $(CC) oocMsg.c + + + #ooc2 libs + $(VOCSTATIC) -sP ooc2Strings.Mod + $(VOCSTATIC) -sP ooc2Ascii.Mod + $(VOCSTATIC) -sP ooc2CharClass.Mod + $(VOCSTATIC) -sP ooc2ConvTypes.Mod + $(VOCSTATIC) -sP ooc2IntConv.Mod + $(VOCSTATIC) -sP ooc2IntStr.Mod + $(VOCSTATIC) -sP ooc2Real0.Mod + #ooc libs + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod + $(VOCSTATIC) -sP oocLRealMath.Mod + $(VOCSTATIC) -sP oocLongInts.Mod + $(VOCSTATIC) -sP oocComplexMath.Mod oocLComplexMath.Mod + $(VOCSTATIC) -sP oocLRealConv.Mod oocLRealStr.Mod + $(VOCSTATIC) -sP oocRealConv.Mod oocRealStr.Mod + $(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod + $(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod + $(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod + $(VOCSTATIC) -sP oocFilenames.Mod + $(VOCSTATIC) -sP oocwrapperlibc.Mod + $(VOCSTATIC) -sP oocC.Mod + $(VOCSTATIC) -sP oocX11.Mod + $(VOCSTATIC) -sP oocXutil.Mod + $(VOCSTATIC) -sP oocXYplane.Mod + + #Ulm's Oberon system libs + $(VOCSTATIC) -sP ulmSys.Mod + $(VOCSTATIC) -sP ulmSYSTEM.Mod + $(VOCSTATIC) -sP ulmASCII.Mod + $(VOCSTATIC) -sP ulmSets.Mod + $(VOCSTATIC) -sP ulmObjects.Mod + $(VOCSTATIC) -sP ulmDisciplines.Mod + $(VOCSTATIC) -sP ulmPriorities.Mod + $(VOCSTATIC) -sP ulmServices.Mod + $(VOCSTATIC) -sP ulmEvents.Mod + $(VOCSTATIC) -sP ulmResources.Mod + $(VOCSTATIC) -sP ulmForwarders.Mod + $(VOCSTATIC) -sP ulmRelatedEvents.Mod + $(VOCSTATIC) -sP ulmIO.Mod + $(VOCSTATIC) -sP ulmProcess.Mod + $(VOCSTATIC) -sP ulmTypes.Mod + $(VOCSTATIC) -sP ulmStreams.Mod + $(VOCSTATIC) -sP ulmAssertions.Mod + $(VOCSTATIC) -sP ulmIndirectDisciplines.Mod + $(VOCSTATIC) -sP ulmStreamDisciplines.Mod + $(VOCSTATIC) -sP ulmIEEE.Mod + $(VOCSTATIC) -sP ulmMC68881.Mod + $(VOCSTATIC) -sP ulmReals.Mod + $(VOCSTATIC) -sP ulmPrint.Mod + $(VOCSTATIC) -sP ulmWrite.Mod + $(VOCSTATIC) -sP ulmTexts.Mod + $(VOCSTATIC) -sP ulmStrings.Mod + $(VOCSTATIC) -sP ulmConstStrings.Mod + $(VOCSTATIC) -sP ulmPlotters.Mod + $(VOCSTATIC) -sP ulmSysTypes.Mod + $(VOCSTATIC) -sP ulmSysConversions.Mod + $(VOCSTATIC) -sP ulmErrors.Mod + $(VOCSTATIC) -sP ulmSysErrors.Mod + $(VOCSTATIC) -sP ulmSysIO.Mod + $(VOCSTATIC) -sP ulmLoader.Mod + $(VOCSTATIC) -sP ulmNetIO.Mod + $(VOCSTATIC) -sP ulmPersistentObjects.Mod + $(VOCSTATIC) -sP ulmPersistentDisciplines.Mod + $(VOCSTATIC) -sP ulmOperations.Mod + $(VOCSTATIC) -sP ulmScales.Mod + $(VOCSTATIC) -sP ulmTimes.Mod + $(VOCSTATIC) -sP ulmClocks.Mod + $(VOCSTATIC) -sP ulmTimers.Mod + $(VOCSTATIC) -sP ulmConditions.Mod + $(VOCSTATIC) -sP ulmStreamConditions.Mod + $(VOCSTATIC) -sP ulmTimeConditions.Mod + $(VOCSTATIC) -sP ulmSysConversions.Mod + $(VOCSTATIC) -sP ulmSysStat.Mod + $(VOCSTATIC) -sP ulmCiphers.Mod + $(VOCSTATIC) -sP ulmCipherOps.Mod + $(VOCSTATIC) -sP ulmBlockCiphers.Mod + $(VOCSTATIC) -sP ulmAsymmetricCiphers.Mod + $(VOCSTATIC) -sP ulmConclusions.Mod + $(VOCSTATIC) -sP ulmRandomGenerators.Mod + $(VOCSTATIC) -sP ulmTCrypt.Mod + + #pow32 libs + $(VOCSTATIC) -sP powStrings.Mod + + #misc libs + $(VOCSTATIC) -sP MultiArrays.Mod + $(VOCSTATIC) -sP MultiArrayRiders.Mod + $(VOCSTATIC) -sP MersenneTwister.Mod + $(VOCSTATIC) -sP Listen.Mod + + #s3 libs + $(VOCSTATIC) -sP ethBTrees.Mod + $(VOCSTATIC) -sP ethMD5.Mod + $(VOCSTATIC) -sP ethSets.Mod + $(VOCSTATIC) -sP ethZlib.Mod + $(VOCSTATIC) -sP ethZlibBuffers.Mod + $(VOCSTATIC) -sP ethZlibInflate.Mod + $(VOCSTATIC) -sP ethZlibDeflate.Mod + $(VOCSTATIC) -sP ethZlibReaders.Mod + $(VOCSTATIC) -sP ethZlibWriters.Mod + $(VOCSTATIC) -sP ethZip.Mod + $(VOCSTATIC) -sP ethRandomNumbers.Mod + $(VOCSTATIC) -sP ethGZReaders.Mod + $(VOCSTATIC) -sP ethGZWriters.Mod + + +# build remaining tools +# $(VOCSTATIC0) -sPS compatIn.Mod +# $(VOCSTATIC0) -smPS vmake.Mod +# $(CC) compatIn.c +# $(CL) vmake.c -o vmake SYSTEM.o Args.o compatIn.o Texts.o Console.o Files.o Reals.o Modules.o Kernel.o Unix.o oocOakStrings.o oocIntStr.o oocConvTypes.o oocIntConv.o + + + +stage7: + #remove non library objects + rm -f Kernel0.o Files0.o Texts0.o architecture.o prf.o version.o extTools.o OPM.o OPS.o OPT.o OPC.o OPV.o OPB.o OPP.o errors.o + #objects := $(wildcard *.o) + #$(LD) objects + $(ARCHIVE) *.o + #$(ARCHIVE) objects + $(LD) *.o + echo "$(PREFIX)/lib" > 05vishap.conf + +clean: +# rm_objects := rm $(wildcard *.o) +# objects + rm *.h + rm *.c + rm *.sym + rm *.o + rm *.a + rm *.so + +install: + test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin + cp voc $(PREFIX)/bin/ + cp showdef $(PREFIX)/bin/ + cp ocat $(PREFIX)/bin/ + #cp vmake $(PREFIX)/bin/ + cp -a src $(PREFIX)/ + + test -d $(PREFIX)/lib/voc | mkdir -p $(PREFIX)/lib/voc + test -d $(PREFIX)/lib/voc/ | mkdir -p $(PREFIX)/lib/voc + test -d $(PREFIX)/lib/voc/obj | mkdir -p $(PREFIX)/lib/voc/obj + test -d $(PREFIX)/lib/voc/sym | mkdir -p $(PREFIX)/lib/voc/sym + + cp $(LIBRARY).so $(PREFIX)/lib + cp $(LIBRARY).a $(PREFIX)/lib + cp *.c $(PREFIX)/lib/voc/obj/ + cp *.h $(PREFIX)/lib/voc/obj/ + cp *.sym $(PREFIX)/lib/voc/sym/ + + cp 05vishap.conf /etc/ld.so.conf.d/ + ldconfig + ln -s $(PREFIX) $(PREFIXLN) + +# cp *.o $(PREFIX)/lib/voc/$(RELEASE)/obj/ +uninstall: + rm -rf $(PREFIX) + rm -rf $(PREFIXLN) diff --git a/ocat b/ocat index 1c83c7f6..0f61f8f2 100755 Binary files a/ocat and b/ocat differ diff --git a/showdef b/showdef index 715c3559..001ab016 100755 Binary files a/showdef and b/showdef differ diff --git a/src/lib/system/linux/clang/armv6j/SYSTEM.c0 b/src/lib/system/linux/clang/armv6j/SYSTEM.c0 index 580449aa..a5599acc 100644 --- a/src/lib/system/linux/clang/armv6j/SYSTEM.c0 +++ b/src/lib/system/linux/clang/armv6j/SYSTEM.c0 @@ -20,7 +20,7 @@ #include "varargs.h" #endif -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); void (*SYSTEM_Halt)(); diff --git a/src/lib/system/linux/clang/armv6j/SYSTEM.h b/src/lib/system/linux/clang/armv6j/SYSTEM.h index 719a6d18..0c7b19af 100644 --- a/src/lib/system/linux/clang/armv6j/SYSTEM.h +++ b/src/lib/system/linux/clang/armv6j/SYSTEM.h @@ -15,7 +15,7 @@ uses double # as concatenation operator //extern void *memcpy(void *dest, const void *src, long n); extern void *memcpy(void *dest, const void *src, size_t n); -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); #define export diff --git a/src/lib/system/linux/clang/armv6j/Unix.Mod b/src/lib/system/linux/clang/armv6j/Unix.Mod index d42d01e8..e2a25ec5 100644 --- a/src/lib/system/linux/clang/armv6j/Unix.Mod +++ b/src/lib/system/linux/clang/armv6j/Unix.Mod @@ -239,9 +239,10 @@ TYPE "#include "; (* for system() *) - PROCEDURE -includeStdlib() +(* commented, doesn't compile on 32bit GNU/Linux platforms + PROCEDURE -includeStdlib() "#include "; - +*) (* for nanosleep() *) PROCEDURE -includeTime() "#include "; diff --git a/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.c0 b/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.c0 index 580449aa..a5599acc 100644 --- a/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.c0 +++ b/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.c0 @@ -20,7 +20,7 @@ #include "varargs.h" #endif -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); void (*SYSTEM_Halt)(); diff --git a/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.h b/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.h index 719a6d18..0c7b19af 100644 --- a/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.h +++ b/src/lib/system/linux/clang/armv6j_hardfp/SYSTEM.h @@ -15,7 +15,7 @@ uses double # as concatenation operator //extern void *memcpy(void *dest, const void *src, long n); extern void *memcpy(void *dest, const void *src, size_t n); -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); #define export diff --git a/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod b/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod index d42d01e8..e2a25ec5 100644 --- a/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod +++ b/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod @@ -239,9 +239,10 @@ TYPE "#include "; (* for system() *) - PROCEDURE -includeStdlib() +(* commented, doesn't compile on 32bit GNU/Linux platforms + PROCEDURE -includeStdlib() "#include "; - +*) (* for nanosleep() *) PROCEDURE -includeTime() "#include "; diff --git a/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.c0 b/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.c0 index 580449aa..a5599acc 100644 --- a/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.c0 +++ b/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.c0 @@ -20,7 +20,7 @@ #include "varargs.h" #endif -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); void (*SYSTEM_Halt)(); diff --git a/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.h b/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.h index 719a6d18..0c7b19af 100644 --- a/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.h +++ b/src/lib/system/linux/clang/armv7a_hardfp/SYSTEM.h @@ -15,7 +15,7 @@ uses double # as concatenation operator //extern void *memcpy(void *dest, const void *src, long n); extern void *memcpy(void *dest, const void *src, size_t n); -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); #define export diff --git a/src/lib/system/linux/clang/armv7a_hardfp/Unix.Mod b/src/lib/system/linux/clang/armv7a_hardfp/Unix.Mod index d42d01e8..e2a25ec5 100644 --- a/src/lib/system/linux/clang/armv7a_hardfp/Unix.Mod +++ b/src/lib/system/linux/clang/armv7a_hardfp/Unix.Mod @@ -239,9 +239,10 @@ TYPE "#include "; (* for system() *) - PROCEDURE -includeStdlib() +(* commented, doesn't compile on 32bit GNU/Linux platforms + PROCEDURE -includeStdlib() "#include "; - +*) (* for nanosleep() *) PROCEDURE -includeTime() "#include "; diff --git a/src/lib/system/linux/clang/powerpc/SYSTEM.c0 b/src/lib/system/linux/clang/powerpc/SYSTEM.c0 index 580449aa..a5599acc 100644 --- a/src/lib/system/linux/clang/powerpc/SYSTEM.c0 +++ b/src/lib/system/linux/clang/powerpc/SYSTEM.c0 @@ -20,7 +20,7 @@ #include "varargs.h" #endif -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); void (*SYSTEM_Halt)(); diff --git a/src/lib/system/linux/clang/powerpc/SYSTEM.h b/src/lib/system/linux/clang/powerpc/SYSTEM.h index 719a6d18..0c7b19af 100644 --- a/src/lib/system/linux/clang/powerpc/SYSTEM.h +++ b/src/lib/system/linux/clang/powerpc/SYSTEM.h @@ -15,7 +15,7 @@ uses double # as concatenation operator //extern void *memcpy(void *dest, const void *src, long n); extern void *memcpy(void *dest, const void *src, size_t n); -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); #define export diff --git a/src/lib/system/linux/clang/powerpc/Unix.Mod b/src/lib/system/linux/clang/powerpc/Unix.Mod index d42d01e8..e2a25ec5 100644 --- a/src/lib/system/linux/clang/powerpc/Unix.Mod +++ b/src/lib/system/linux/clang/powerpc/Unix.Mod @@ -239,9 +239,10 @@ TYPE "#include "; (* for system() *) - PROCEDURE -includeStdlib() +(* commented, doesn't compile on 32bit GNU/Linux platforms + PROCEDURE -includeStdlib() "#include "; - +*) (* for nanosleep() *) PROCEDURE -includeTime() "#include "; diff --git a/src/lib/system/linux/clang/x86/SYSTEM.c0 b/src/lib/system/linux/clang/x86/SYSTEM.c0 index 580449aa..a5599acc 100644 --- a/src/lib/system/linux/clang/x86/SYSTEM.c0 +++ b/src/lib/system/linux/clang/x86/SYSTEM.c0 @@ -20,7 +20,7 @@ #include "varargs.h" #endif -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); void (*SYSTEM_Halt)(); diff --git a/src/lib/system/linux/clang/x86/SYSTEM.h b/src/lib/system/linux/clang/x86/SYSTEM.h index 719a6d18..0c7b19af 100644 --- a/src/lib/system/linux/clang/x86/SYSTEM.h +++ b/src/lib/system/linux/clang/x86/SYSTEM.h @@ -15,7 +15,7 @@ uses double # as concatenation operator //extern void *memcpy(void *dest, const void *src, long n); extern void *memcpy(void *dest, const void *src, size_t n); -extern void *malloc(long size); +extern void *malloc(unsigned int size); extern void exit(int status); #define export diff --git a/src/lib/system/linux/clang/x86/Unix.Mod b/src/lib/system/linux/clang/x86/Unix.Mod index d42d01e8..e2a25ec5 100644 --- a/src/lib/system/linux/clang/x86/Unix.Mod +++ b/src/lib/system/linux/clang/x86/Unix.Mod @@ -239,9 +239,10 @@ TYPE "#include "; (* for system() *) - PROCEDURE -includeStdlib() +(* commented, doesn't compile on 32bit GNU/Linux platforms + PROCEDURE -includeStdlib() "#include "; - +*) (* for nanosleep() *) PROCEDURE -includeTime() "#include "; diff --git a/voc.par b/src/par/voc.par.clang.powerpc similarity index 91% rename from voc.par rename to src/par/voc.par.clang.powerpc index 02702d43..df29c90d 100644 --- a/voc.par +++ b/src/par/voc.par.clang.powerpc @@ -9,4 +9,4 @@ LONGREAL 8 8 PTR 4 4 PROC 4 4 RECORD 1 1 -ENDIAN 1 0 +ENDIAN 0 0 diff --git a/voc b/voc index 2668643a..bf2f9505 100755 Binary files a/voc and b/voc differ diff --git a/vocstatic.linux.clang.powerpc b/vocstatic.linux.clang.powerpc new file mode 100755 index 00000000..bf2f9505 Binary files /dev/null and b/vocstatic.linux.clang.powerpc differ