diff --git a/trunk/android-projects/buildAll.sh b/trunk/android-projects/buildAll.sh index b4d3b297..a854c163 100644 --- a/trunk/android-projects/buildAll.sh +++ b/trunk/android-projects/buildAll.sh @@ -1,7 +1,7 @@ #!/bin/bash # Build tinyDEMO for Google Android Systems -for project in tinySAK tinyNET tinyIPSec tinySMS tinyHTTP tinySDP tinyMEDIA tinySIP tinyDEMO +for project in tinySAK tinyNET tinyIPSec tinySMS tinyHTTP tinySDP tinyMEDIA tinySIP tinyDAV tinyDEMO do echo -e building "$project....\n" make PROJECT=$project clean diff --git a/trunk/links/S60 - Quick and dirty porting of autoconf apps - Forum Nokia Wiki.mht b/trunk/links/S60 - Quick and dirty porting of autoconf apps - Forum Nokia Wiki.mht new file mode 100644 index 00000000..fb6c4ce8 --- /dev/null +++ b/trunk/links/S60 - Quick and dirty porting of autoconf apps - Forum Nokia Wiki.mht @@ -0,0 +1,19313 @@ +From: "Saved by Windows Internet Explorer 7" +Subject: Quick and dirty porting of autoconf apps - Forum Nokia Wiki +Date: Wed, 18 Nov 2009 02:24:52 +0100 +MIME-Version: 1.0 +Content-Type: multipart/related; + type="text/html"; + boundary="----=_NextPart_000_0000_01CA67F6.4F4AD340" +X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16669 + +This is a multi-part message in MIME format. + +------=_NextPart_000_0000_01CA67F6.4F4AD340 +Content-Type: text/html; + charset="utf-8" +Content-Transfer-Encoding: quoted-printable +Content-Location: http://wiki.forum.nokia.com/index.php/Quick_and_dirty_porting_of_autoconf_apps + +=EF=BB=BF +
+
+
+ Contents |
With the release of the OpenC plugin, it has become far easier to = +take an=20 +existing open source project to Symbian OS. Here's how to take an open = +source=20 +project developed using autotools, and turn it in to a Symbian project = +fast.=20 +
+I'm going to be using libxml2 [1] as the=20 +example project, but these steps generally work for any project.
+The first task when porting software to Symbian OS is to write a = +bld.inf=20 +file. For libraries like libxml2, this will export all the appropriate = +headers=20 +to the \epo32\include tree, together with a customised config.h.
+Start by opening the appropriate Makefile.am, and locate the list of = +headers=20 +that are exported. In libxml2, this is:
+xmlinc_HEADERS =3D \+
SAX.h \
entities.h \
= +encoding.h \
parser.h \
/* ... etc ... */
Copy and paste this in to your bld.inf file, under the =
+heading=20
+PRJ_EXPORTS. Rewrite each line to export it to an appropriate =
+subdirectory of=20
+\epoc32\include. In this instance, we'll be exporting to =
+\epoc32\include\libxml=20
+as shown below:
PRJ_EXPORTS+
..\include\libxml\SAX.h = +libxml\SAX.h
..\include\libxml\entities.h = +libxml\entities.h
..\include\libxml\encoding.h = +libxml\encoding.h
..\include\libxml\parser.h = +libxml\parser.h
/* ... etc ... */
Now, create a copy of config.h.in called config.h.symbian, =
+and add an=20
+export to your project exports to ex as so:
..\config.h.symbian libxml\config.h+
Now your exports are complete. From the command line, type =
+bldmake=20
+bldfiles followed by abld export to export the headers.
Create an empty MMP file for your project, and add a boilerplate = +header to it=20 +along these lines:
+TARGET = + libxml2.dll+
TARGETTYPE dll
UID 0x1000008d = +0xDEADBEEF
VENDORID 0
Where 0xDEADBEEF would be replaced by a UID you've procured =
+from=20
+Symbian Signed. Now, again find in Makefile.am the list of project =
+sources, for=20
+libxml2, this is:
libxml2_la_SOURCES =3D SAX.c entities.c encoding.c error.c = +parserInternals.c \+
parser.c tree.c hash.c list.c xmlIO.c = +xmlmemory.c uri.c \
/* ... etc ... */
Copy and paste this is to your MMP file, and munge each one =
+in to a=20
+SOURCE line, as shown here:
SOURCEPATH = + ..\+
SOURCE SAX.c
SOURCE entities.c
SOURCE = +encoding.c
SOURCE error.c
SOURCE parserInternals.c
SOURCE = +parser.c
SOURCE tree.c
/* ... etc ... */
Now, add some system include paths. Minimally you'll want the =
+stdapis=20
+directory, and the folder to which you exported all project headers. =
+This is=20
+shown below:
SYSTEMINCLUDE \epoc32\include+
SYSTEMINCLUDE = +\epoc32\include\stdapis
SYSTEMINCLUDE \epoc32\include\libxml
Then, add a libraries line to link the project against lib.c, =
+and=20
+assign it some capabilities and you're done.
For some projects it may be necessary to define the macro = +HAVE_CONFIG_H to=20 +include your config.h. This isn't the case with libxml, but to do that = +include=20 +this line in your MMP file:
+MACRO = +HAVE_CONFIG_H+
Now import your completed MMP file in to your favourite IDE. Next we = +need to=20 +customise config.h to the Symbian platform. For every entry in config.h, = +you=20 +need to decide if it does or does not apply to Symbian. For some = +entries, this=20 +is easy.
+For example, things like:
+#undef = +HAVE_FCNTL_H+
We know Symbian has this header, so change it to:
#define = +HAVE_FCNTL_H 1+
Others aren't so simple, they control the behaviour of the=20
+application. If you aren't sure what a config.h define does, just search =
+for it=20
+in the code and read the context in which it is used, and then decide if =
+it=20
+should be on or off.
Once you are finished, remember to export the headers again to update = +your=20 +config.h in \epoc32\include.
+Now, compile the project. If it fails to compile, then fix the = +compile=20 +errors. Obviously, this varies from project to project, so there can't = +be any=20 +specific advice for this. Libxml2 compiles flawlessly.
+Now run the application, or an application that uses the library. = +Again, you=20 +may encounter errors but this guide can't advise you on the specifics of = +fixing=20 +them.
+And that's that. You should now have a working Symbian executable or = +library.=20 +From start to finish, libxml2 took about half an hour to port.
+Hope this helps. --Cdavies-nokia=20 +14:35, 27 June 2007 (UTC)
+No related wiki articles = +found