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]
