On 06/08/2014, at 5:24 AM, Ryan wrote:
>>
>>> Basically I just wanted to copy the felix generated cpp files to
>> NDK/jni then invoke ndk-build.
>>
>> Sorry i have no idea what ndk-build is or does.
>
> It's the build tool that Android uses, I believe(NDK=Natural Development Kit).
I guess that, but that is really not a lot of information.
>> I would copy these to your target and modify them to suit the target
>> by hand. You only need to do that once (well .. until I change the RTL
>> :)
>
> ...or, if you know how to use Git, you can clone the Felix repo and create a
> custom branch with the changes you make. Then, whenever the source changes,
> you can merge them in using Git's merge utilities.
Better to share by modifying the repository directly.
There is a tool called
src/tools/flx_build_prep.flx
This prepares a new target for building. Please read
the code, its only short.
One of the switches to the tool is used to copy the C++ headers:
--copy-config-headers
This copies the headers in the source directory, usually
build/release/host/lib/rtl
The only ones of interest are:
~/felix>ls build/release/host/lib/rtl/*config.h*
build/release/host/lib/rtl/demux_sockety_config.hpp
build/release/host/lib/rtl/flx_pthread_config.hpp
build/release/host/lib/rtl/flx_demux_config.hpp
build/release/host/lib/rtl/flx_re2_config.hpp
build/release/host/lib/rtl/flx_exceptions_config.hpp
build/release/host/lib/rtl/flx_rtl_config.h
build/release/host/lib/rtl/flx_faio_config.hpp
build/release/host/lib/rtl/flx_rtl_config.hpp
build/release/host/lib/rtl/flx_gc_config.hpp
build/release/host/lib/rtl/flx_sqlite3_config.hpp
build/release/host/lib/rtl/flx_glob_config.hpp
build/release/host/lib/rtl/flx_sundown_config.hpp
build/release/host/lib/rtl/flx_manymouse_config.h
build/release/host/lib/rtl/flx_tre_config.h
[The other ones are actually generated from Felix source. Hmm .. didn't realise.
I should split these up]
Of those, most do not contain any actual configuration data.
Almost all the config data is actually in
~/felix>cat build/release/host/lib/rtl/flx_rtl_config_params.hpp
#ifndef __FLX_RTL_CONFIG_PARAMS_H__
#define __FLX_RTL_CONFIG_PARAMS_H__
#define FLX_HAVE_VSNPRINTF 1
#define FLX_HAVE_BOOL 1
#define FLX_HAVE_LONGLONG 1
#define FLX_HAVE_LONGDOUBLE 1
#define FLX_HAVE_GNU 1
#define FLX_HAVE_GNU_X86 0
#define FLX_HAVE_GNU_X86_64 0
#define FLX_HAVE_GNU_BUILTIN_EXPECT 1
#define FLX_HAVE_CGOTO 1
#define FLX_USE_REGPARM3 0
#define FLX_HAVE_ASM_LABELS 0
#define FLX_HAVE_DLOPEN 1
#define FLX_MACOSX 1
#define FLX_LINUX 0
#define FLX_WIN32 0
#define FLX_WIN64 0
#define FLX_CYGWIN 0
#define FLX_POSIX 1
#define FLX_SOLARIS 0
#define FLX_HAVE_MSVC 0
#define FLX_HAVE_KQUEUE_DEMUXER 1
#define FLX_HAVE_POLL 1
#define FLX_HAVE_EPOLL 0
#define FLX_HAVE_EVTPORTS 0
#define FLX_HAVE_OPENMP 0
#define FLX_MAX_ALIGN 16
#endif
That's basically it. You have to set those macros.
I've actually been meaning to make a version of this file
for each platform and copy that based on a switch.
Most of the other stuff is not interesting if you're copying
C++ files to the target for building: it is only useful
if you're cross compiling, and require, for example,
libraries on your host to link to.
So really it's not a big thing to make your own Android config.
If you have a cross compiler, such as gcc with ARM target or whatever,
you could make code that runs on Android directly.
After all, Android is Just Linux with a Java based GUI on top.
If you want to do GUI stuff it is a pain on ANY platform!
Which is why I have played with SDL, since it allows one
to write portable graphics code (It's not a GUI, but is aimed
at games).
--
john skaller
[email protected]
http://felix-lang.org
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language