X Tutup
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
44a4935
Initial source generation
galdolber Nov 12, 2013
e257da6
Better source generation
galdolber Nov 18, 2013
88c38e5
Adding rets and statements
galdolber Nov 19, 2013
d9f8250
Better source generation
galdolber Nov 26, 2013
f503a32
emitBoxReturn and emitUnboxArg working
galdolber Nov 27, 2013
c1c49b0
Cast instance method expr + other source generation fixes
galdolber Nov 27, 2013
21086f6
Fixing string escape + many source generation fixes
galdolber Nov 28, 2013
39db841
Fixing let context
galdolber Dec 4, 2013
dcea213
Fix finally bug
galdolber Dec 4, 2013
9544f36
Fixing this
galdolber Dec 5, 2013
f6c78cd
Fixing proxy and genclass
galdolber Dec 7, 2013
fe141e9
Reify working
galdolber Dec 8, 2013
52646cb
Source gen tweaks
galdolber Dec 8, 2013
7c66ffc
Custom ExecutorService
galdolber Dec 8, 2013
a7121fd
Adding CountDownLatch
galdolber Dec 8, 2013
4ba5ffe
All runtime compiles
galdolber Dec 8, 2013
8b5b6f2
Everything compiles
galdolber Dec 9, 2013
4fa9450
Introducing compile-time! + elide all macros from generated sources
galdolber Dec 10, 2013
4a50bb5
Remove Boolean cast from unboxed IfExpr
galdolber Dec 10, 2013
754dcaf
Remove reflextion from instant and stacktrace + memoize parents
galdolber Dec 10, 2013
e537f18
Reflection warnings
galdolber Dec 10, 2013
2b278c9
Making process-annotation compile-time! + cleanning reflection on ase…
galdolber Dec 10, 2013
e74d7dc
Avoid Reflection
galdolber Dec 10, 2013
1f18686
Delete user.clj initialization
galdolber Dec 11, 2013
64b8191
Everything compiles with no exceptions
galdolber Jan 9, 2014
11553df
Fix invokePrim() and box()
galdolber Jan 9, 2014
b8839ca
Better case implementation
galdolber Jan 9, 2014
400f761
All case tests passing
galdolber Jan 9, 2014
b3c3a2b
Ran 325 tests containing 11728 assertions.
galdolber Jan 9, 2014
d9931d9
Adding translate script
galdolber Jan 10, 2014
56aae2f
Clean up exceptions in translated code
galdolber Jan 11, 2014
cb2d5dd
Fixes bugs on definterface and deftype
galdolber Jan 11, 2014
519fe8d
Replace $ for _
galdolber Jan 12, 2014
54125d5
Fixing unbox and cast returns
galdolber Jan 12, 2014
ac1b9d3
deftype fully functional!
galdolber Jan 12, 2014
d348426
Optimize IfExpr for NilExpr testExpr
galdolber Jan 12, 2014
ff4a084
Fix bug on intCast
galdolber Jan 12, 2014
597e201
Fixes isa? error on compiled code
galdolber Jan 12, 2014
e4ca24f
mvn compiles with no errors
galdolber Jan 13, 2014
113f9ac
Adding option to compile all tests
galdolber Jan 13, 2014
a30850c
Remove comment
galdolber Jan 13, 2014
8e19014
Don't allow field named 'this' on *deftype
galdolber Jan 14, 2014
5e6f195
Don't emit statements of values
galdolber Jan 14, 2014
1cea4db
Make source-output a compiler param
galdolber Jan 14, 2014
b173374
New catch implementation for TryExpr to allow not runtime hidden exce…
galdolber Jan 15, 2014
44e0f6f
Fixing loop/recur
galdolber Jan 15, 2014
b503796
All tests compile
galdolber Jan 15, 2014
333619a
Fixing future
galdolber Jan 15, 2014
cc30152
Fixes for objc runtime
galdolber Jan 16, 2014
f107216
memoize parents and bases and avoid refer on iOS runtime
galdolber Jan 16, 2014
38f1c3b
Optimize MultiFn for objc
galdolber Jan 17, 2014
8db9f0a
Basic interop
galdolber Jan 18, 2014
128850e
Warning instead of error for objc-interop in the jvm
galdolber Jan 19, 2014
05abd1e
Better code generation for (recur on functions and exceptions handling
galdolber Jan 19, 2014
e6b85ec
Remove j2objc dependency, enable reducers! as now j2objc includes the…
galdolber Jan 20, 2014
7a91942
Build script
galdolber Jan 21, 2014
088cffc
Initial build script (not working)
galdolber Jan 22, 2014
ae04d83
Build script for fat static lib
galdolber Jan 23, 2014
044cc08
Fat static lib fully working
galdolber Jan 23, 2014
4f7dccc
Remove comment
galdolber Jan 24, 2014
fd757b5
Update readme.txt
galdolber Jan 24, 2014
2886169
Update readme.txt
galdolber Jan 24, 2014
5848ecf
rename
galdolber Jan 24, 2014
78409ae
Update readme.txt
galdolber Jan 24, 2014
3abe7eb
Update readme.txt
galdolber Jan 24, 2014
c2226b3
Update readme.txt
galdolber Jan 24, 2014
300e2f3
Update readme.txt
galdolber Jan 24, 2014
c4a3bf4
Update readme.txt
galdolber Jan 24, 2014
b45aad9
Update readme.txt
galdolber Jan 24, 2014
5daab91
Update and rename readme.txt to readme.md
galdolber Jan 24, 2014
80b7b43
Update readme.md
galdolber Jan 24, 2014
94eed7f
Update readme.md
galdolber Jan 25, 2014
9ab6f41
Update readme.md
galdolber Jan 25, 2014
a7c90bc
Update readme.md
galdolber Jan 25, 2014
d727eb2
Update readme.md
galdolber Jan 25, 2014
4f847fa
Update readme.md
galdolber Jan 25, 2014
b9799f5
Update readme.md
galdolber Jan 25, 2014
51fc712
New objc interop implementation
galdolber Jan 27, 2014
581ed8c
Update readme.md
galdolber Jan 27, 2014
379cf13
Fix on interop + nsproxy
galdolber Jan 28, 2014
83bce7a
Update readme.md
galdolber Jan 28, 2014
cc97dec
Update readme.md
galdolber Jan 28, 2014
28d6df6
Update readme.md
galdolber Jan 28, 2014
6fae30a
Update readme.md
galdolber Jan 28, 2014
4715dda
Catching up with clojure/clojure commit dff9600387b962f16fc78e6477e10…
galdolber Jan 29, 2014
dbfdfe5
Fixes reader literals for instances + instance method expr for Object…
galdolber Jan 30, 2014
dba139f
Merge branch 'master' of https://github.com/galdolber/clojure
galdolber Jan 30, 2014
571dfeb
Merge remote-tracking branch 'upstream/master'
galdolber Jan 30, 2014
a31ab42
Get reader test to pass
galdolber Jan 31, 2014
8af8689
Initial repl prototype
galdolber Feb 1, 2014
b31a3ce
Remote repl working
galdolber Feb 3, 2014
77952de
Adding native socket classes
galdolber Feb 3, 2014
991311d
Clean up
galdolber Feb 3, 2014
c37a41d
Update readme.md
galdolber Feb 4, 2014
52490fa
Merge remote-tracking branch 'upstream/master'
galdolber Feb 7, 2014
636c897
Merge branch 'master' of https://github.com/galdolber/clojure
galdolber Feb 7, 2014
f36300b
Compile tests with ant + force Compile to exit
galdolber Feb 8, 2014
e569a3c
Merge branch 'master' into repl
galdolber Feb 8, 2014
6f56fcb
Fixing mvn test
galdolber Feb 8, 2014
47f8ceb
Adding libffi + interop utils
galdolber Feb 12, 2014
2ceb6f7
Fixing arm64
galdolber Feb 12, 2014
d03e918
Fix class methods + void signature + allow running without remoterepl
galdolber Feb 12, 2014
69bd3a7
Fix nsproxy
galdolber Feb 13, 2014
0b4df23
Moving objc interop to core_objc + defc for c interop
galdolber Feb 13, 2014
4fdff48
nstype
galdolber Feb 13, 2014
748aacc
Docs
galdolber Feb 13, 2014
5b8babf
Adding weak ref for self on nsproxy and nstype
galdolber Feb 14, 2014
aafaaf8
Fix memory leaks on NSCommon
galdolber Feb 14, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,10 @@ clojure.ipr
nbproject/private/
maven-classpath
maven-classpath.properties
coclojure/*
.settings/*
.classpath

.project

xcode
4 changes: 4 additions & 0 deletions KNOWN_ISSUES
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- Dividing by zero doesn't throw an exception in objc, it fails with EXC_ARITHMETIC
- NullPointerException and ClassCastException are not reliable, as they are emulated by j2objc
- Empty regular expressions throw an exception
- pr-str a date have a bad Timezone format: https://code.google.com/p/j2objc/issues/detail?id=321
49 changes: 49 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
mvn clean
mvn compile
mvn test-compile
rm -Rf target/objc
mkdir target/objc
cp -R src/objc/. target/objc
cp -R src/ffi/. target/objc
zip -r target/objc.jar target/gen src/jvm test/java
j2objc -d target/objc -classpath target/classes:target/test-classes target/objc.jar

if [ ! -d "target/include" ]; then
mkdir target/include
fi

echo exporting headers...
cd target/objc
rsync -avm --delete --include='*.h' -f 'hide,! */' . ../include > /dev/null
cd ..

echo building static lib...

OBJC=$(pwd)/objc
IPHONEOS_SDK="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk"
IPHONESIMULATOR_SDK="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk"
FRAMEWORKS="-framework UIKit -framework Foundation"
INCLUDES="-I$J2OBJC_HOME/include -I$(pwd)/objc -I$(pwd)/../src/ffi"
OPTS="-miphoneos-version-min=5.0 -fmessage-length=0 -fmacro-backtrace-limit=0 -std=gnu99 -fpascal-strings -O0 -DDEBUG=1 -fstrict-aliasing -Wno-unsequenced -MT dependencies"
function build {
NAME=$1
ARCH=$2
SDK=$3
echo "compiling $NAME..."
rm -Rf $NAME
mkdir $NAME
cd $NAME
find $OBJC -name "*.m" | while read file; do echo $NAME $(basename $file);clang -x objective-c $ARCH $OPTS -isysroot $SDK $INCLUDES -c $file -o $(uuidgen).o; done
find $(pwd) -name "*.o" | tr "\\n" "\n" > $NAME.LinkFileList
echo "linking $NAME..."
libtool -static -syslibroot $SDK -filelist $NAME.LinkFileList $FRAMEWORKS -o libclojure-objc.a
cd ..
}

#build "iphoneos" "-arch armv7 -arch armv7s -arch arm64" $IPHONEOS_SDK
#build "iphonesimulator" "-arch i386 -arch x86_64" $IPHONESIMULATOR_SDK

#if [ -f libclojure-objc.a ]; then
# rm libclojure-objc.a
#fi
#lipo -create -output libclojure-objc.a $(find . -name "libclojure-objc.a" | tr "\\n" " ")
Loading
X Tutup