Skip to content

Commit 8b83124

Browse files
committed
More work
1 parent bd8e8d2 commit 8b83124

File tree

2 files changed

+97
-20
lines changed

2 files changed

+97
-20
lines changed

src/libFLRE.h

+65-16
Original file line numberDiff line numberDiff line change
@@ -215,31 +215,80 @@ int32_t FLRELoad(){
215215
return 1;
216216
}else{
217217
#ifdef WINDOWS
218-
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
218+
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
219219
FLRELibraryHandle = dlopen("libFLRE_i386.dll");
220-
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
220+
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
221221
FLRELibraryHandle = LoadLibrary("libFLRE_x86_64.dll");
222-
#elif defined(__aarch64) || defined(__aarch64__)
222+
#elif defined(__aarch64) || defined(__aarch64__)
223223
FLRELibraryHandle = LoadLibrary("libFLRE_aarch64.dll");
224-
#elif defined(__arm__)
225-
FLRELibraryHandle = LoadLibrary("libFLRE_arm32.dll");
226-
#else
224+
#elif defined(__arm__)
225+
FLRELibraryHandle = LoadLibrary("libFLRE_arm.dll");
226+
#else
227227
#error "Unsupported CPU/OS target combination"
228-
#endif
228+
#endif
229229
if(FLRELibraryHandle == NULL){
230230
FLRELibraryHandle = LoadLibrary("libFLRE.dll");
231231
}
232232
#else
233-
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
234-
FLRELibraryHandle = dlopen("libFLRE_i386.so");
235-
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
236-
FLRELibraryHandle = dlopen("libFLRE_x86_64.so");
237-
#elif defined(__aarch64) || defined(__aarch64__)
238-
FLRELibraryHandle = dlopen("libFLRE_aarch64.so");
239-
#elif defined(__arm__)
240-
FLRELibraryHandle = dlopen("libFLRE_arm32.so");
241-
#else
233+
#if defined(__ANDROID_API__)
234+
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
235+
FLRELibraryHandle = dlopen("libFLRE_android_i386.so");
236+
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
237+
FLRELibraryHandle = dlopen("libFLRE_android_x86_64.so");
238+
#elif defined(__aarch64) || defined(__aarch64__)
239+
FLRELibraryHandle = dlopen("libFLRE_android_aarch64.so");
240+
#elif defined(__arm__)
241+
FLRELibraryHandle = dlopen("libFLRE_android_arm.so");
242+
#else
243+
#error "Unsupported CPU/OS target combination"
244+
#endif
245+
#elif defined(__APPLE__)
246+
#include "TargetConditionals.h"
247+
#if defined(TARGET_OS_IPHONE) || defined(TARGET_IPHONE_SIMULATOR)
248+
#if defined(__aarch64) || defined(__aarch64__)
249+
FLRELibraryHandle = dlopen("libFLRE_ios_aarch64.dylib");
250+
#elif defined(__arm__)
251+
FLRELibraryHandle = dlopen("libFLRE_ios_arm.dylib");
252+
#else
253+
#error "Unsupported CPU/OS target combination"
254+
#endif
255+
#elif TARGET_OS_MAC
256+
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
257+
FLRELibraryHandle = dlopen("libFLRE_darwin_i386.dylib");
258+
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
259+
FLRELibraryHandle = dlopen("libFLRE_darwin_x86_64.dylib");
260+
#elif defined(__aarch64) || defined(__aarch64__)
261+
FLRELibraryHandle = dlopen("libFLRE_darwin_aarch64.dylib");
262+
#else
263+
#error "Unsupported CPU/OS target combination"
264+
#endif
265+
#else
266+
#error "Unsupported CPU/OS target combination"
267+
#endif
268+
#elif defined(__linux__) || defined(__linux) || defined(linux)
269+
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
270+
FLRELibraryHandle = dlopen("libFLRE_linux_i386.so");
271+
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
272+
FLRELibraryHandle = dlopen("libFLRE_linux_x86_64.so");
273+
#elif defined(__aarch64) || defined(__aarch64__)
274+
FLRELibraryHandle = dlopen("libFLRE_linux_aarch64.so");
275+
#elif defined(__arm__)
276+
FLRELibraryHandle = dlopen("libFLRE_linux_arm.so");
277+
#else
278+
#error "Unsupported CPU/OS target combination"
279+
#endif
280+
#elif defined(__FreeBSD__)
281+
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__386)
282+
FLRELibraryHandle = dlopen("libFLRE_freebsd_i386.so");
283+
#elif defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
284+
FLRELibraryHandle = dlopen("libFLRE_freebsd_x86_64.so");
285+
#else
242286
#error "Unsupported CPU/OS target combination"
287+
#endif
288+
#elif defined(__unix__) || defined(__unix) || defined(unix)
289+
#warning "Non-offical supported CPU/OS target combination (*BSD etc.)"
290+
#else
291+
#error "Unsupported CPU/OS target combination"
243292
#endif
244293
if(FLRELibraryHandle == NULL){
245294
FLRELibraryHandle = dlopen("libFLRE.so");

src/makelibflre.bat

+32-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
@echo off
2-
fpc -g -FUunits -Twin64 -Px86_64 -olibFLRE_x86_64.dll -B libFLRE.dpr
3-
fpc -g -FUunits -Tlinux -Pi386 -olibFLRE_i386.so -B libFLRE.dpr
4-
fpc -g -FUunits -Tlinux -Px86_64 -olibFLRE_x86_64.so -B libFLRE.dpr
5-
fpc -g -FUunits -Tlinux -Paarch64 -olibFLRE_aarch64.so -B libFLRE.dpr
2+
3+
fpc -O3 -g -FUunits -Twin32 -Pi386 -o..\bin\libFLRE_i386.dll -B libFLRE.dpr || goto :error
4+
fpc -O3 -g -FUunits -Twin64 -Px86_64 -o..\bin\libFLRE_x86_64.dll -B libFLRE.dpr || goto :error
5+
6+
fpc -O3 -g -FUunits -Tandroid -Pi386 -o..\bin\libFLRE_android_i386.so -B libFLRE.dpr || goto :error
7+
fpc -O3 -g -FUunits -Tandroid -Px86_64 -o..\bin\libFLRE_android_x86_64.so -B libFLRE.dpr || goto :error
8+
fpc -O3 -g -FUunits -Tandroid -Parm -o..\bin\libFLRE_android_arm.so -B libFLRE.dpr || goto :error
9+
fpc -O3 -g -FUunits -Tandroid -Paarch64 -o..\bin\libFLRE_android_aarch64.so -B libFLRE.dpr || goto :error
10+
11+
fpc -O3 -g -FUunits -Tlinux -Pi386 -o..\bin\libFLRE_linux_i386.so -B libFLRE.dpr || goto :error
12+
fpc -O3 -g -FUunits -Tlinux -Px86_64 -o..\bin\libFLRE_linux_x86_64.so -B libFLRE.dpr || goto :error
13+
fpc -O3 -g -FUunits -Tlinux -Parm -CaEABIHF -fPIC -o..\bin\libFLRE_linux_arm.so -B libFLRE.dpr || goto :error
14+
fpc -O3 -g -FUunits -Tlinux -Paarch64 -o..\bin\libFLRE_linux_aarch64.so -B libFLRE.dpr || goto :error
15+
16+
fpc -O3 -g -FUunits -Tfreebsd -Pi386 -o..\bin\libFLRE_freebsd_i386.so -B libFLRE.dpr || goto :error
17+
fpc -O3 -g -FUunits -Tfreebsd -Px86_64 -o..\bin\libFLRE_freebsd_x86_64.so -B libFLRE.dpr || goto :error
18+
19+
fpc -O3 -g -FUunits -Tdarwin -Pi386 -o..\bin\libFLRE_darwin_i386.dylib -B libFLRE.dpr || goto :error
20+
fpc -O3 -g -FUunits -Tdarwin -Px86_64 -o..\bin\libFLRE_darwin_x86_64.dylib -B libFLRE.dpr || goto :error
21+
fpc -O3 -g -FUunits -Tdarwin -Paarch64 -o..\bin\libFLRE_darwin_aarch64.dylib -B libFLRE.dpr || goto :error
22+
23+
rem fpc -O3 -g -FUunits -TiOS -Parm -fPIC -o..\bin\libFLRE_ios_arm.dylib -B libFLRE.dpr || goto :error
24+
rem fpc -O3 -g -FUunits -TiOS -Parm -fPIC -o..\bin\libFLRE_ios_aarch64.dylib -B libFLRE.dpr || goto :error
25+
26+
goto :noerror
27+
28+
:error
29+
exit /b %errorlevel%
30+
31+
:noerror
32+
exit /b 0
33+

0 commit comments

Comments
 (0)