History

make win32 version of libtcc1.a for cross-compiler on x86 / x86_64

Henry Kroll III committed 16 years ago

Commit 80b4c691 parent b0b29d82 files · +28 −4Browse files

Unified · Split

2 files
  1. Makefile +6 −4
  2. make_libtcc1_win32.sh +22 −0
Makefile+6−4
@@ -10,7 +10,6 @@ CFLAGS_P=$(CFLAGS) -pg -static -DCONFIG_TCC_STATIC · 9 unmodified lines
10LIBS_P=10LIBS_P=
11LIBS=.11LIBS=.
12 12
13# My distro wants shared libs, not static ones
14LIBTCCA=libtcc.a13LIBTCCA=libtcc.a
15ifdef DISABLE_STATIC14ifdef DISABLE_STATIC
16CFLAGS+=-fPIC15CFLAGS+=-fPIC
@@ -111,11 +110,11 @@ PROGS_CROSS=$(WIN64_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS) · 94 unmodified lines
111else110else
112ifeq ($(ARCH),i386)111ifeq ($(ARCH),i386)
113NATIVE_FILES=$(I386_FILES)112NATIVE_FILES=$(I386_FILES)
114PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)113PROGS_CROSS=$(X64_CROSS) libtcc1_win32 $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
115else114else
116ifeq ($(ARCH),x86-64)115ifeq ($(ARCH),x86-64)
117NATIVE_FILES=$(X86_64_FILES)116NATIVE_FILES=$(X86_64_FILES)
118PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)117PROGS_CROSS=$(I386_CROSS) libtcc1_win32 $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
119else118else
120ifeq ($(ARCH),arm)119ifeq ($(ARCH),arm)
121NATIVE_FILES=$(ARM_FILES)120NATIVE_FILES=$(ARM_FILES)
@@ -126,6 +125,7 @@ endif · 4 unmodified lines
126endif125endif
127 126
128ifdef CONFIG_CROSS127ifdef CONFIG_CROSS
128
129PROGS+=$(PROGS_CROSS)129PROGS+=$(PROGS_CROSS)
130endif130endif
131 131
@@ -179,7 +179,9 @@ libtcc.so.1: $(LIBTCC_OBJ) · 47 unmodified lines
179 $(CC) -shared -Wl,-soname,$@ -o $@.0 $^179 $(CC) -shared -Wl,-soname,$@ -o $@.0 $^
180 ln -sf libtcc.so.1.0 libtcc.so.1180 ln -sf libtcc.so.1.0 libtcc.so.1
181 ln -sf libtcc.so.1.0 libtcc.so181 ln -sf libtcc.so.1.0 libtcc.so
182 182libtcc1_win32:
183 ./make_libtcc1_win32.sh
184
183libtcc_test$(EXESUF): tests/libtcc_test.c $(LIBTCCA)185libtcc_test$(EXESUF): tests/libtcc_test.c $(LIBTCCA)
184 $(CC) -o $@ $^ -I. $(CFLAGS) $(LIBS) $(LIBTCCL)186 $(CC) -o $@ $^ -I. $(CFLAGS) $(LIBS) $(LIBTCCL)
185 187
make_libtcc1_win32.sh+22−0
@@ -0,0 +1,22 @@
1#!/bin/bash
2a=$(mktemp)
3b=$(mktemp)
4c=$(mktemp)
5cp config.h $a
6cp config.mak $b
7# force 386 build on x86_64
8./configure --cpu=x86
9# configure doesn't provide a way to set tccdir
10tccdir=$(grep TCCDIR $a|awk '{gsub("\"","",$3);print $3}')
11grep -v CONFIG_TCCDIR $a > $c
12echo "#define CONFIG_TCCDIR \"${tccdir}/win32\"" >> $c
13mv $c config.h
14make i386-win32-tcc
15mv i386-win32-tcc tcc.exe
16sync
17make CONFIG_WIN32=1 libtcc1.a
18cp include/* win32/include
19mv libtcc1.a win32/lib
20mv $a config.h
21mv $b config.mak
22rm tcc.exe

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t