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]

Reply via email to