mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-05 23:22:25 +00:00
clang powerpc platform
This commit is contained in:
parent
ad8e18c777
commit
61ef35ff33
21 changed files with 329 additions and 21 deletions
303
makefile.linux.clang.powerpc
Normal file
303
makefile.linux.clang.powerpc
Normal file
|
|
@ -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)
|
||||
BIN
ocat
BIN
ocat
Binary file not shown.
BIN
showdef
BIN
showdef
Binary file not shown.
|
|
@ -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)();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -239,9 +239,10 @@ TYPE
|
|||
"#include <unistd.h>";
|
||||
|
||||
(* for system() *)
|
||||
PROCEDURE -includeStdlib()
|
||||
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||
PROCEDURE -includeStdlib()
|
||||
"#include <stdlib.h>";
|
||||
|
||||
*)
|
||||
(* for nanosleep() *)
|
||||
PROCEDURE -includeTime()
|
||||
"#include <time.h>";
|
||||
|
|
|
|||
|
|
@ -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)();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -239,9 +239,10 @@ TYPE
|
|||
"#include <unistd.h>";
|
||||
|
||||
(* for system() *)
|
||||
PROCEDURE -includeStdlib()
|
||||
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||
PROCEDURE -includeStdlib()
|
||||
"#include <stdlib.h>";
|
||||
|
||||
*)
|
||||
(* for nanosleep() *)
|
||||
PROCEDURE -includeTime()
|
||||
"#include <time.h>";
|
||||
|
|
|
|||
|
|
@ -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)();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -239,9 +239,10 @@ TYPE
|
|||
"#include <unistd.h>";
|
||||
|
||||
(* for system() *)
|
||||
PROCEDURE -includeStdlib()
|
||||
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||
PROCEDURE -includeStdlib()
|
||||
"#include <stdlib.h>";
|
||||
|
||||
*)
|
||||
(* for nanosleep() *)
|
||||
PROCEDURE -includeTime()
|
||||
"#include <time.h>";
|
||||
|
|
|
|||
|
|
@ -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)();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -239,9 +239,10 @@ TYPE
|
|||
"#include <unistd.h>";
|
||||
|
||||
(* for system() *)
|
||||
PROCEDURE -includeStdlib()
|
||||
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||
PROCEDURE -includeStdlib()
|
||||
"#include <stdlib.h>";
|
||||
|
||||
*)
|
||||
(* for nanosleep() *)
|
||||
PROCEDURE -includeTime()
|
||||
"#include <time.h>";
|
||||
|
|
|
|||
|
|
@ -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)();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -239,9 +239,10 @@ TYPE
|
|||
"#include <unistd.h>";
|
||||
|
||||
(* for system() *)
|
||||
PROCEDURE -includeStdlib()
|
||||
(* commented, doesn't compile on 32bit GNU/Linux platforms
|
||||
PROCEDURE -includeStdlib()
|
||||
"#include <stdlib.h>";
|
||||
|
||||
*)
|
||||
(* for nanosleep() *)
|
||||
PROCEDURE -includeTime()
|
||||
"#include <time.h>";
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ LONGREAL 8 8
|
|||
PTR 4 4
|
||||
PROC 4 4
|
||||
RECORD 1 1
|
||||
ENDIAN 1 0
|
||||
ENDIAN 0 0
|
||||
BIN
voc
BIN
voc
Binary file not shown.
BIN
vocstatic.linux.clang.powerpc
Executable file
BIN
vocstatic.linux.clang.powerpc
Executable file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue