Eric,
Thank you for your help. I couldn't get Jam to work because I don't understand
it. However I was able to create a Makefile.
,Jim
Eric Sunshine <[EMAIL PROTECTED]> wrote: Jim Sager wrote:
> I am now using the ASIO networking library with CS.
> I used to be able to build my application by going to my CS directory
> and typing: jam simpmap
It would be much more correct to develop your application outside of the
CS tree. We put a lot of effort into, not only making this possible, but
making it simple and robust. You can create an external project by
running the jamtemplate/createproject.sh script, which sets up a
ready-to-build skeleton project on your behalf, complete with configure
script, Jam build system, built-in Visual Studio project-file creation
capability, and so forth. Once the skeleton is set up, you just drop
your source files into the project's "src" directory. See the section
titled "Jamtemplate" in "4.20.1 Creating an External Crystal Space
Application" in the CS manual:
http://www.crystalspace3d.org/docs/online/manual/
> Now that I am using ASIO, I need to add some extra include directories
> /home/jim/Desktop/asio/include
> /home/jim/Desktop/boost2
> I tried editing the Jamfile in the CS directory by changing the
> beginning to look like this:
> IncludeDir ;
> IncludeDir $(BUILDTOP) include : : literal transient ;
> IncludeDir "include" ;
> #I added these two lines:
> IncludeDir "/home/jim/Desktop/asio/include";
> IncludeDir "/home/jim/Desktop/boost2";
The typically correct way to specify additional compiler and linker
arguments is to define SOMEPACKAGE.CFLAGS and SOMEPACKAGE.LIBS variables
in the Jamconfig file, where SOMEPACKAGE is an identifier you choose to
represent the external package which you are attempting to reference. In
your application-local Jamfile, you would then include the line:
ExternalLibs myapp : SOMEPACKAGE ;
Given the Jamtemplate scenario outlined above, normally, you would add a
configure check for ASIO, and the configure check would be responsible
for emitting SOMEPACKAGE.CFLAGS and SOMEPACKAGE.LIBS to Jamconfig.
Creating the configure check usually involves a very simple invocation
of CS_CHECK_LIB_WITH() in your configure.ac file. See the 'caca' library
check in CS/configure.ac for an example. An important benefit of using
configure and CS_CHECK_LIB_WITH() to detect the ASIO library is that it
generally will do a much better job of figuring out the correct compiler
and linker flags, and make your project more portable, than hard-coding
these flags in some Jamfile.
If you absolutely insist upon mucking around inside CS's own source tree
for the development of your application, then you can probably add the
appropriate SOMEPACKAGE.CFLAGS and SOMEPACKAGE.LIBS definitions to CS's
Jamconfig file or to its top-level Jamfile. Jamconfig is more
appropriate, but it means that you will have to re-add your definitions
manually each time you run the configure script.
Example:
ASIO.CFLAGS ?= -I/path/to/headers -Dsome_define
ASIO.LIBS ?= -L/path/to/library -lasio (or whatever)
> The big problem is that it takes several minutes instead of a few
> seconds of compiling only the changed object files.
> I would like to know how I should edit the Jamfile in the root CS
> directory, or if I should make a Makefile or something. I'm fairly
> clueless and yahoo.com searches didn't dredge up enough info for me.
Best is to stay out of CS itself and encapsulate your application in its
own project created by Jamtemplate.
-- ES
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]
---------------------------------
Building a website is a piece of cake.
Yahoo! Small Business gives you all the tools to get online.-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]