Skip to content

Commit

Permalink
2024-09-05 09:58:36
Browse files Browse the repository at this point in the history
  • Loading branch information
mohanson committed Sep 5, 2024
1 parent ed570c8 commit 0120a0b
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 522 deletions.
51 changes: 11 additions & 40 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ CFLAGS += -g -Os \
-nostdinc -nostdlib \
-fdata-sections -ffunction-sections

CFLAGS += -I deps/ckb-c-stdlib/libc -I deps/ckb-c-stdlib
CFLAGS += -I deps/ckb-c-stdlib
CFLAGS += -I include -I include/c-stdlib
CFLAGS += -I deps/compiler-rt-builtins-riscv/compiler-rt/lib/builtins

Expand All @@ -29,48 +29,23 @@ CFLAGS += -Wno-incompatible-library-redeclaration -Wno-implicit-const-int-float-
CFLAGS += -DCKB_DECLARATION_ONLY
CFLAGS += -D__BYTE_ORDER=1234 -D__LITTLE_ENDIAN=1234 -D__ISO_C_VISIBLE=1999 -D__GNU_VISIBLE
CFLAGS += -DCKB_MALLOC_DECLARATION_ONLY -DCKB_PRINTF_DECLARATION_ONLY -DCONFIG_BIGNUM -DCONFIG_STACK_CHECK
CFLAGS += -isystem deps/musl/release/include
# uncomment to dump memory usage
# CFLAGS += -DMEMORY_USAGE

LDFLAGS := -static --gc-sections
LDFLAGS := -static --gc-sections -nostdlib
LDFLAGS += -Ldeps/compiler-rt-builtins-riscv/build -lcompiler-rt

CFLAGS2 := --target=riscv64 -march=rv64imc_zba_zbb_zbc_zbs
CFLAGS2 += -g -Os \
-Wall -Werror -Wno-nonnull -Wno-unused-function \
-nostdinc -nostdlib \
-fdata-sections -ffunction-sections

CFLAGS2 += -I deps/ckb-c-stdlib
CFLAGS2 += -I include -I include/c-stdlib
CFLAGS2 += -I deps/compiler-rt-builtins-riscv/compiler-rt/lib/builtins

CFLAGS2 += -Wextra -Wno-sign-compare -Wno-missing-field-initializers -Wundef -Wuninitialized \
-Wunused -Wno-unused-parameter -Wchar-subscripts -funsigned-char -Wno-unused-function \
-DCONFIG_VERSION=\"2021-03-27-CKB\"
CFLAGS2 += -Wno-incompatible-library-redeclaration -Wno-implicit-const-int-float-conversion -Wno-invalid-noreturn

CFLAGS2 += -DCKB_DECLARATION_ONLY
CFLAGS2 += -D__BYTE_ORDER=1234 -D__LITTLE_ENDIAN=1234 -D__ISO_C_VISIBLE=1999 -D__GNU_VISIBLE
CFLAGS2 += -DCKB_MALLOC_DECLARATION_ONLY -DCKB_PRINTF_DECLARATION_ONLY -DCONFIG_BIGNUM -DCONFIG_STACK_CHECK
CFLAGS2 += -isystem deps/musl/release/include

LDFLAGS2 := -static --gc-sections -nostdlib
LDFLAGS2 += -Ldeps/compiler-rt-builtins-riscv/build -lcompiler-rt
LDFLAGS2 += --sysroot deps/musl/release -Ldeps/musl/release/lib -lc -lgcc -nostdlib
LDFLAGS2 += -wrap=gettimeofday
LDFLAGS2 += -wrap=fesetround
LDFLAGS2 += -wrap=localtime_r
LDFLAGS += --sysroot deps/musl/release -Ldeps/musl/release/lib -lc -lgcc
LDFLAGS += -wrap=gettimeofday
LDFLAGS += -wrap=fesetround
LDFLAGS += -wrap=localtime_r

OBJDIR=build

QJS_OBJS=$(OBJDIR)/qjs.o $(OBJDIR)/quickjs.o $(OBJDIR)/libregexp.o $(OBJDIR)/libunicode.o \
$(OBJDIR)/cutils.o $(OBJDIR)/mocked.o $(OBJDIR)/std_module.o $(OBJDIR)/ckb_module.o $(OBJDIR)/ckb_cell_fs.o \
$(OBJDIR)/libbf.o $(OBJDIR)/cmdopt.o

STD_OBJS=$(OBJDIR)/stdio_impl.o


all: build/ckb-js-vm

deps/compiler-rt-builtins-riscv/build/libcompiler-rt.a:
Expand All @@ -80,23 +55,19 @@ deps/musl/release:
cd deps/musl && \
CLANG=$(CC) ./ckb/build.sh

build/ckb-js-vm: $(STD_OBJS) $(QJS_OBJS) deps/compiler-rt-builtins-riscv/build/libcompiler-rt.a
$(LD) $(LDFLAGS2) -o $@ $^
build/ckb-js-vm: $(QJS_OBJS) deps/compiler-rt-builtins-riscv/build/libcompiler-rt.a
$(LD) $(LDFLAGS) -o $@ $^
cp $@ $@.debug
$(OBJCOPY) --strip-debug --strip-all $@
ls -lh build/ckb-js-vm

$(OBJDIR)/%.o: quickjs/%.c
@echo build $<
@$(CC) $(CFLAGS2) -c -o $@ $<

$(OBJDIR)/%.o: include/c-stdlib/src/%.c
@echo build $<
@$(CC) $(CFLAGS) -c -o $@ $<

$(OBJDIR)/%.o: include/%.c
@echo build $<
@$(CC) $(CFLAGS2) -c -o $@ $<
@$(CC) $(CFLAGS) -c -o $@ $<

test:
make -f tests/examples/Makefile
Expand All @@ -111,7 +82,7 @@ clean:
rm -f build/ckb-js-vm
rm -f build/ckb-js-vm.debug
cd tests/ckb_js_tests && make clean
# make -C deps/compiler-rt-builtins-riscv clean
make -C deps/compiler-rt-builtins-riscv clean

install:
wget 'https://github.com/nervosnetwork/ckb-standalone-debugger/releases/download/v0.118.0-rc1/ckb-debugger-linux-x64.tar.gz'
Expand Down
1 change: 0 additions & 1 deletion include/c-stdlib/README.md

This file was deleted.

28 changes: 0 additions & 28 deletions include/c-stdlib/my_stdint.h

This file was deleted.

117 changes: 0 additions & 117 deletions include/c-stdlib/my_stdio.h

This file was deleted.

Loading

0 comments on commit 0120a0b

Please sign in to comment.