]> git.saurik.com Git - cycript.git/commitdiff
Attempting to abstract 64-bit Mac.
authorJay Freeman (saurik) <saurik@saurik.com>
Tue, 8 Dec 2009 20:21:51 +0000 (20:21 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 8 Dec 2009 20:21:51 +0000 (20:21 +0000)
Darwin-i386.mk [new file with mode: 0644]
Darwin.mk
FreeBSD.mk
Linux.mk
PkgConfig.mk [deleted file]
WebKit.mk [new file with mode: 0644]
makefile

diff --git a/Darwin-i386.mk b/Darwin-i386.mk
new file mode 100644 (file)
index 0000000..aa233eb
--- /dev/null
@@ -0,0 +1,7 @@
+flags += -DCY_ATTACH
+code += Handler.o
+inject += Mach/Inject.o
+Mach/Inject.o: Trampoline.t.hpp Baton.hpp
+
+%.t.hpp: %.t.cpp
+       $(target)gcc -c -fno-exceptions -Iinclude -o $*.t.o $< && { file=($$($(target)otool -l $*.t.o | sed -e 'x; /^1/ { x; /^ *filesize / { s/^.* //; p; }; /^ *fileoff / { s/^.* //; p; }; x; }; x; /^ *cmd LC_SEGMENT$$/ { s/.*/1/; x; }; d;')); od -t x1 -j $${file[0]} -N $${file[1]} $*.t.o | sed -e 's/^[^ ]*//' | tr $$'\n' ' ' | sed -e 's/  */ /g;s/^ *//;s/ $$//;s/ /,/g;s/\([^,][^,]\)/0x\1/g' | sed -e 's/^/static const char $*_[] = {/;s/$$/};/' && echo && echo "/*" && $(target)otool -vVt $*.t.o && echo "*/"; } >$@ && rm -f $*.t.o
index d55abb2379dc3ae9cc7961f850086d24c5cf6270..fa26d52bbad31584d3a19c17df465c8fd95a480c 100644 (file)
--- a/Darwin.mk
+++ b/Darwin.mk
@@ -1,5 +1,3 @@
-# XXX: objective-c exists on non-Darwin
-
 dll := dylib
 link += -lobjc -framework CoreFoundation
 console += -framework Foundation
@@ -10,13 +8,5 @@ library += -framework JavaScriptCore
 library += -framework WebKit
 library += -liconv
 
-flags += -DCY_ATTACH
-code += Handler.o
-inject += Mach/Inject.o
-Mach/Inject.o: Trampoline.t.hpp Baton.hpp
-
-%.t.hpp: %.t.cpp
-       $(target)gcc -c -fno-exceptions -Iinclude -o $*.t.o $< && { file=($$($(target)otool -l $*.t.o | sed -e 'x; /^1/ { x; /^ *filesize / { s/^.* //; p; }; /^ *fileoff / { s/^.* //; p; }; x; }; x; /^ *cmd LC_SEGMENT$$/ { s/.*/1/; x; }; d;')); od -t x1 -j $${file[0]} -N $${file[1]} $*.t.o | sed -e 's/^[^ ]*//' | tr $$'\n' ' ' | sed -e 's/  */ /g;s/^ *//;s/ $$//;s/ /,/g;s/\([^,][^,]\)/0x\1/g' | sed -e 's/^/static const char $*_[] = {/;s/$$/};/' && echo && echo "/*" && $(target)otool -vVt $*.t.o && echo "*/"; } >$@ && rm -f $*.t.o
-
 include Execute.mk
 include ObjectiveC.mk
index 0584b3d0736db335d761767cdbdfe4d36ca7c586..35ab90be2406ff1ec07eb9dc7d77b50ceb968dc3 100644 (file)
@@ -1,4 +1,4 @@
 export PATH := /usr/local/bin:/usr/local/GNUstep/System/Tools:$(PATH)
 gcc := g++42
 flags += -fPIC
-include PkgConfig.mk
+include WebKit.mk
index 0f8c8cebccbbac2dfdd04f7294fe957dfc69f01b..eaaa9b04eb2756b5f9b105558526fdee586a1f69 100644 (file)
--- a/Linux.mk
+++ b/Linux.mk
@@ -1,2 +1,2 @@
 flags += -fPIC
-include PkgConfig.mk
+include WebKit.mk
diff --git a/PkgConfig.mk b/PkgConfig.mk
deleted file mode 100644 (file)
index 368bbcc..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-ifneq ($(shell pkg-config webkit-1.0 --modversion 2>/dev/null),)
-flags += $(shell pkg-config --cflags webkit-1.0)
-library += $(shell pkg-config --libs webkit-1.0)
-include Execute.mk
-else
-ifneq ($(shell pkg-config WebKitGtk --modversion 2>/dev/null),)
-flags += $(shell pkg-config --cflags WebKitGtk)
-library += $(shell pkg-config --libs WebKitGtk)
-include Execute.mk
-endif
-endif
diff --git a/WebKit.mk b/WebKit.mk
new file mode 100644 (file)
index 0000000..368bbcc
--- /dev/null
+++ b/WebKit.mk
@@ -0,0 +1,11 @@
+ifneq ($(shell pkg-config webkit-1.0 --modversion 2>/dev/null),)
+flags += $(shell pkg-config --cflags webkit-1.0)
+library += $(shell pkg-config --libs webkit-1.0)
+include Execute.mk
+else
+ifneq ($(shell pkg-config WebKitGtk --modversion 2>/dev/null),)
+flags += $(shell pkg-config --cflags WebKitGtk)
+library += $(shell pkg-config --libs WebKitGtk)
+include Execute.mk
+endif
+endif
index 792f14cc85e625bcf4b11b5e456b180426ae1714..7711fbd015f0421914cd7d89cafad92c2adeee82 100644 (file)
--- a/makefile
+++ b/makefile
@@ -46,9 +46,15 @@ depends :=
 restart ?= $(MAKE)
 uname_s ?= $(shell uname -s)
 uname_p ?= $(shell uname -p)
+uname_m ?= $(shell uname -m)
 
 -include $(uname_s).mk
 -include $(uname_s)-$(uname_p).mk
+-include $(uname_s)-$(uname_m).mk
+
+ifneq ($(shell pkg-config libffi --modversion 2>/dev/null),)
+flags += $(shell pkg-config --cflags libffi)
+endif
 
 ifdef CY_EXECUTE
 ifeq ($(filter ObjectiveC,$(filters)),)