I will try to update the build system to handle Mac OS X universal 
configurations properly and easily.

I don't know why you were told on IRC that it should not be built as a 
universal binary. A universal binary should be perfectly reasonable both 
for the SDK and for end-user CS-based applications.

-- ES

[email protected] wrote:
> Hi,
> 
> I am trying to build a mac universal binary. So far i can  build static 
> fine but the universal build is not working as well.
> 
> This is my output so far 
> 
> env CFLAGS=" -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch 
> ppc -mmacosx-version-min=10.4" LDFLAGS="-arch i386 -arch ppc" 
> ./configure --without-java --without-perl --without-python 
> --without-lib3ds --with-cal3d=/Users/mdavis/PS/cal3d/ 
> configure: WARNING: unrecognized options: --without-lib3ds
> checking build system type... i686-apple-darwin9.6.0
> checking host system type... i686-apple-darwin9.6.0
> checking whether to enable -mno-cygwin... no
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables... 
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking for C compiler version... 4.0.1
> checking if gcc accepts -pipe... -pipe
> checking for g++... g++
> checking whether we are using the GNU C++ compiler... yes
> checking whether g++ accepts -g... yes
> checking for C++ compiler version... 4.0.1
> checking how to treat C++ warnings as errors... -Werror
> checking how to enable C++ PIC generation... -fPIC
> checking for ld... ld
> checking if -shared is accepted... -shared -fPIC
> checking if -soname is accepted... no
> checking if response files are accepted... no
> checking if --gc-sections is supported... no
> checking how to run the C preprocessor... gcc -E
> checking how to run the C++ preprocessor... g++ -E
> checking for ranlib... ranlib
> checking for dlltool... no
> checking for dllwrap... no
> checking for windres... no
> checking for strings... strings
> checking for objcopy... no
> checking for libtool... libtool
> checking for libtool... /usr/bin/libtool
> checking classification of /usr/bin/libtool... apple
> checking for glibtool... glibtool
> checking how to create a directory... mkdir
> checking how to create a directory tree... mkdir -p
> checking for install... install
> checking whether ln -s works... yes
> checking for texi2dvi... texi2dvi
> checking for texi2pdf... texi2pdf
> checking for dvips... no
> checking for dvipdf... dvipdf
> checking for makeinfo... makeinfo
> checking for doxygen... no
> checking for dot... dot
> checking for flex... flex
> checking for bison... bison
> checking if bison version >= 1.35... yes (version 2.3)
> checking for hhc... no
> checking for swig... swig
> checking if swig version >= 1.3.21... yes (version 1.3.35)
> checking for rsvg... no
> checking for icotool... no
> checking for convert... no
> checking for relaytool... ./bin/relaytool
> checking for jam... /sw/bin/jam
> checking if jam version >= 2.4... yes (version 2.5.2)
> checking for gnumake... gnumake
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking cmath usability... yes
> checking cmath presence... yes
> checking for cmath... yes
> checking math.h usability... yes
> checking math.h presence... yes
> checking for math.h... yes
> checking ieeefp.h usability... no
> checking ieeefp.h presence... no
> checking for ieeefp.h... no
> checking for fopen in -lc... yes
> checking for pow in -lm... yes
> checking for cosf in -lm... yes
> checking for cosf in -lmx... yes
> checking for dlopen in -ldl... yes
> checking for gethostbyname in -lnsl... no
> checking for dladdr in -ldl... yes
> checking for pthread... yes
> checking for pthread recursive mutexes... PTHREAD_MUTEX_RECURSIVE
> checking for pthread_atfork support... yes
> checking whether to link base g++ libraries statically... no
> checking for RTLD_NOW... yes
> checking for -mmmx flag... no
> checking for -msse flag... -msse
> checking for -msse2 flag... -msse2
> checking for -mfpmath=sse flag... no
> checking for Carbon/Carbon.h... yes
> checking for --with-x... no
> checking for Objective-C compiler... gcc
> checking for Objective-C++ compiler... g++
> checking for perl5... no
> checking for perl... perl
> checking how to suppress C++ `long double' warnings... -Wno-long-double
> checking for python... python
> checking for java... /usr/bin/java
> checking for javac... /usr/bin/javac
> checking for ant... /usr/bin/ant
> checking for STL... yes
> checking how to enable C++ compilation warnings... -Wmost
> checking how to treat C++ warnings as errors... -Werror
> checking how to suppress C++ unused variable warnings... -Wno-unused
> checking how to suppress C++ uninitialized variable warnings... 
> -Wno-uninitialized
> checking how to suppress C++ unknown #pragma warnings... 
> -Wno-unknown-pragmas
> checking how to suppress C++ `long double' warnings... (cached) 
> -Wno-long-double
> checking how to suppress C++ non-virtual destructor warnings... 
> -Wno-non-virtual-dtor
> checking for flag to disable string-aliasing... -fno-strict-aliasing
> checking how to enable C++ exceptions... -fexceptions 
> -fno-omit-frame-pointer
> checking how to disable C++ exceptions... -fno-exceptions
> checking how to enforce C++ standards conformance... -ansi -pedantic
> checking if -force_cpusubtype_ALL is needed... -force_cpusubtype_ALL
> checking if -fno-common is needed... -fno-common
> checking how to export all dynamic symbols... no
> checking if --kill-at is accepted... no
> checking if reporting missing symbols is supported... no
> checking if missing symbols can be reported as warnings... no
> checking how to disable function inlining... -fno-inline-functions
> checking how to treat C warnings as errors... -Werror
> checking how to treat C++ warnings as errors... (cached) -Werror
> checking how to treat C++ warnings as errors... (cached) -Werror
> checking how to enable C++ PIC generation... (cached) -fPIC
> checking for inline visibility flag... -fvisibility-inlines-hidden
> checking if configuration supports -fvisibility-inlines-hidden... yes
> checking if -fvisibility-inlines-hidden is buggy... yes
> checking for hidden symbol visibility flag... -fvisibility=hidden
> checking for default symbol visibility flag... -fvisibility=default
> checking how to declare hidden visibility... 
> __attribute__((visibility("hidden")))
> checking how to declare default visibility... 
> __attribute__((visibility("default")))
> checking whether to use CPU-specific optimizations... minimum
> checking for code generation flags... no
> checking how to enable optimizations... -O3
> checking if -fomit-frame-pointer is accepted... -fomit-frame-pointer
> checking if -ffast-math is accepted... -ffast-math
> checking build mode... optimize
> checking whether to split debug information... 
> checking how to enable debug mode debugging symbols... -g3
> checking whether to enable debug information in optimize mode... 
> checking how to enable optimize mode debugging symbols... -g2
> checking if -I/usr/local/include is usable... -I/usr/local/include
> checking for va_copy... no
> checking for __va_copy... yes
> checking for X... disabled
> checking for int32... no
> checking for windows.h... no
> checking for OpenGL... yes
> checking for GLhandleARB... yes
> checking for GLcharARB... yes
> checking for GLchar... yes
> checking for GLintptr... yes
> checking for GLsizeiptr... yes
> checking for GLU... yes
> checking for pkg-config... pkg-config
> checking if pkg-config recognizes z... no
> checking for z-config... no
> checking if pkg-config recognizes zlib... no
> checking for zlib-config... no
> checking for libz... yes
> checking if pkg-config recognizes png... no
> checking for png-config... no
> checking if pkg-config recognizes libpng... yes
> checking for libpng-config... libpng-config
> checking for libpng... no
> checking if pkg-config recognizes jpeg... no
> checking for jpeg-config... no
> checking if pkg-config recognizes libjpeg... no
> checking for libjpeg-config... no
> checking for libjpeg... no
> checking if pkg-config recognizes lcms... yes
> checking for lcms-config... no
> checking for liblcms... no
> checking if pkg-config recognizes mng... no
> checking for mng-config... no
> checking if pkg-config recognizes libmng... no
> checking for libmng-config... no
> checking for libmng... no
> checking if pkg-config recognizes cairo... yes
> checking for cairo-config... no
> checking for libcairo... no
> checking if pkg-config recognizes cairomm... no
> checking for cairomm-config... no
> checking if pkg-config recognizes cairomm-1... no
> checking for cairomm-1-config... no
> checking if pkg-config recognizes cairomm-1.0... no
> checking for cairomm-1.0-config... no
> checking for libcairomm... no
> checking if pkg-config recognizes vgvm... no
> checking for vgvm-config... no
> checking for libvgvm... no
> checking if pkg-config recognizes ogg... yes
> checking for ogg-config... no
> checking for libogg... no
> ./configure: line 50205: test: =: unary operator expected
> checking if pkg-config recognizes ode... no
> checking for ode-config... no
> checking for libode... no
> checking if pkg-config recognizes bullet... no
> checking for bullet-config... no
> checking if pkg-config recognizes bulletdynamics... no
> checking for bulletdynamics-config... no
> checking for libbullet... no
> checking for OpenAL... yes
> checking if pkg-config recognizes freetype2... yes
> checking for freetype2-config... no
> checking if pkg-config recognizes freetype... no
> checking for freetype-config... freetype-config
> checking for libfreetype2... no
> checking if pkg-config recognizes cal3d... yes
> checking for cal3d-config... no
> checking for libcal3d... no
> checking if pkg-config recognizes wx... no
> checking for wx-config... wx-config
> checking for libwx... yes
> checking if wxWidgets is built with OpenGL support... yes
> checking if pkg-config recognizes CEGUI... no
> checking for CEGUI-config... no
> checking if pkg-config recognizes CEGUIBase... no
> checking for CEGUIBase-config... no
> checking for libCEGUI... no
> checking if pkg-config recognizes GTK... no
> checking for GTK-config... no
> checking if pkg-config recognizes gtk+-2.0... yes
> checking for gtk+-2.0-config... no
> checking for libGTK... no
> checking for GNU/Linux joystick API... no
> checking if pkg-config recognizes Cg... no
> checking for Cg-config... no
> checking if pkg-config recognizes cg... no
> checking for cg-config... no
> checking if pkg-config recognizes CG... no
> checking for CG-config... no
> checking for libCg... yes
> checking if Cg is sufficiently recent... yes
> checking if pkg-config recognizes CgGL... no
> checking for CgGL-config... no
> checking if pkg-config recognizes cggl... no
> checking for cggl-config... no
> checking if pkg-config recognizes cgGL... no
> checking for cgGL-config... no
> checking if pkg-config recognizes CGGL... no
> checking for CGGL-config... no
> checking if pkg-config recognizes Cg... (cached) no
> checking for Cg-config... no
> checking if pkg-config recognizes cg... (cached) no
> checking for cg-config... no
> checking if pkg-config recognizes CG... (cached) no
> checking for CG-config... no
> checking for libCgGL... yes
> checking soundcard.h usability... no
> checking soundcard.h presence... no
> checking for soundcard.h... no
> checking sys/soundcard.h usability... no
> checking sys/soundcard.h presence... no
> checking for sys/soundcard.h... no
> checking machine/soundcard.h usability... no
> checking machine/soundcard.h presence... no
> checking for machine/soundcard.h... no
> checking if pkg-config recognizes jackasyn... no
> checking for jackasyn-config... no
> checking for libjackasyn... no
> checking if pkg-config recognizes asound... no
> checking for asound-config... no
> checking for libasound... no
> checking for regexp support... yes
> checking for backtrace... no
> checking for setenv... yes
> checking for putenv... yes
> checking for _aligned_malloc... no
> checking sys/sysinfo.h usability... no
> checking sys/sysinfo.h presence... no
> checking for sys/sysinfo.h... no
> checking if <malloc.h> can be included... no
> checking cxxabi.h usability... yes
> checking cxxabi.h presence... yes
> checking for cxxabi.h... yes
> checking for abi::__cxa_demangle... yes
> checking for sysconf(_SC_NPROCESSORS_ONLN)... no
> checking for perl5... (cached) perl
> checking for TemplateToolkit... no
> checking for ttree... no
> checking if pkg-config recognizes cppunit... no
> checking for cppunit-config... no
> checking for libcppunit... no
> checking if plugins require main()... no
> checking size of long... 4
> checking whether byte ordering is bigendian... universal
> checking for stdint.h... (cached) yes
> checking for INT64_C... yes
> checking for stdint.h... (cached) yes
> checking for inttypes.h... (cached) yes
> checking for intptr_t... yes
> checking for intmax_t... yes
> checking for inttypes.h... (cached) yes
> checking for PRIx99 macros... yes
> checking wchar.h usability... yes
> checking wchar.h presence... yes
> checking for wchar.h... yes
> checking wctype.h usability... yes
> checking wctype.h presence... yes
> checking for wctype.h... yes
> checking for wint_t... yes
> checking for wchar_t... yes
> checking for wcslen... yes
> checking for fputws... yes
> checking for fwide... yes
> checking for wcsnrtombs... yes
> checking size of wchar_t... 4
> checking sys/param.h usability... yes
> checking sys/param.h presence... yes
> checking for sys/param.h... yes
> checking for MAXPATHLEN... yes
> checking for winsock.h... no
> checking for unistd.h... (cached) yes
> checking for sys/types.h... (cached) yes
> checking sys/socket.h usability... yes
> checking sys/socket.h presence... yes
> checking for sys/socket.h... yes
> checking sys/ioctl.h usability... yes
> checking sys/ioctl.h presence... yes
> checking for sys/ioctl.h... yes
> checking netinet/in.h usability... yes
> checking netinet/in.h presence... yes
> checking for netinet/in.h... yes
> checking arpa/inet.h usability... yes
> checking arpa/inet.h presence... yes
> checking for arpa/inet.h... yes
> checking netdb.h usability... yes
> checking netdb.h presence... yes
> checking for netdb.h... yes
> checking for socket support... yes
> checking for socklen_t... yes
> checking byteswap.h usability... no
> checking byteswap.h presence... no
> checking for byteswap.h... no
> checking how to declare deprecation... __attribute__((deprecated))
> checking how to declare allocation function... __attribute__((malloc))
> checking how to declare object initialization priority... 
> __attribute__((init_priority(PRI)))
> checking if assembly-coded csQsqrt() compiles... yes
> checking for isfinite... no
> checking for finitef... no
> checking for finite... no
> checking for _finite... no
> checking for std::isfinite... yes
> checking for isnan... no
> checking for isnanf... no
> checking for _isnan... no
> checking for std::isnan... yes
> checking for isnormal... no
> checking for normalf... no
> checking for std::isnormal... yes
> checking for strtof... yes
> checking elf.h usability... no
> checking elf.h presence... no
> checking for elf.h... no
> checking whether to embed plugin meta-information... yes
> checking for windres... no
> checking for objcopy... no
> checking if pkg-config recognizes bfd... no
> checking for bfd-config... no
> checking for libbfd... no
> checking for elf.h... (cached) no
> checking whether to enable ptmalloc... yes
> checking whether to use extensive memory debugger... no
> checking whether to use memory tracker... no
> checking whether to use reference tracker... no
> checking whether to use leak guard... no
> checking whether to build shared libraries... no
> checking whether to emulate makefiles... yes
> configure: creating ./config.status
> config.status: creating Jamfile
> config.status: executing include/csconfig.h commands
> config.status: executing Jamconfig commands
> config.status: executing Makefile commands
> configure: WARNING: unrecognized options: --without-lib3ds
> My-MacBook:cs_static mdavis$ jam libs staticplugins walktest_static
> ...patience...
> ...patience...
> ...found 2974 target(s)...
> ...updating 1055 target(s)...
> MkDir1 ./out/macosxx86/optimize/libs 
> MkDir1 ./out/macosxx86/optimize/libs/csutil 
> C++ ./out/macosxx86/optimize/libs/csutil/alignedalloc.o 
> In file included from 
> /Users/mdavis/PS/cs_static/libs/csutil/alignedalloc.cpp:20In file 
> included from /Users/mdavis/PS/cs_static/libs/csutil/alignedalloc.cpp:20:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> :
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> lipo: can't open input file: 
> /var/folders/Rj/RjCW9UoGGZGlzcoLK5eoT++++TI/-Tmp-//ccdNK5RH.out (No such 
> file or directory)
> 
>   g++ -c -o ./out/macosxx86/optimize/libs/csutil/alignedalloc.o 
> -I/Users/mdavis/PS/cs_static/. -I./include 
> -I/Users/mdavis/PS/cs_static/./include -isysroot 
> /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc 
> -mmacosx-version-min=10.4 -pipe -isysroot 
> /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc 
> -mmacosx-version-min=10.4 -msse -msse2 -Wmost -Wno-unknown-pragmas 
> -fvisibility=hidden -I/usr/local/include -Wno-long-double 
> -force_cpusubtype_ALL -fno-common -fno-exceptions -O3 
> -fomit-frame-pointer -ffast-math -g2 -DCS_CRYSTALSPACE_LIB 
> -DCS_PLUGIN_META_EXT='".csplugin"' -DCS_PLUGIN_EXT='".csbundle"' 
> -I/Users/mdavis/PS/cs_static/libs/csutil/ptmalloc 
> -I/Users/mdavis/PS/cs_static/libs/csutil/ptmalloc/sysdeps/pthread 
> -DCS_CONFIGDIR='"/usr/local/etc/crystalspace-1.9"' 
> -DCS_PLUGINDIR='"/usr/local/lib/crystalspace-1.9"' 
> -DCS_COMPILER_NAME_AND_VERSION='"GCC_4.0"' 
> /Users/mdavis/PS/cs_static/libs/csutil/alignedalloc.cpp
> 
> ...failed C++ ./out/macosxx86/optimize/libs/csutil/alignedalloc.o ...
> C++ ./out/macosxx86/optimize/libs/csutil/ansiparse.o 
> In file included from 
> /Users/mdavis/PS/cs_static/libs/csutil/ansiparse.cpp:21:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> In file included from 
> /Users/mdavis/PS/cs_static/libs/csutil/ansiparse.cpp:21:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> lipo: can't open input file: 
> /var/folders/Rj/RjCW9UoGGZGlzcoLK5eoT++++TI/-Tmp-//ccXWK0TM.out (No such 
> file or directory)
> 
>   g++ -c -o ./out/macosxx86/optimize/libs/csutil/ansiparse.o 
> -I/Users/mdavis/PS/cs_static/. -I./include 
> -I/Users/mdavis/PS/cs_static/./include -isysroot 
> /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc 
> -mmacosx-version-min=10.4 -pipe -isysroot 
> /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc 
> -mmacosx-version-min=10.4 -msse -msse2 -Wmost -Wno-unknown-pragmas 
> -fvisibility=hidden -I/usr/local/include -Wno-long-double 
> -force_cpusubtype_ALL -fno-common -fno-exceptions -O3 
> -fomit-frame-pointer -ffast-math -g2 -DCS_CRYSTALSPACE_LIB 
> -DCS_PLUGIN_META_EXT='".csplugin"' -DCS_PLUGIN_EXT='".csbundle"' 
> -I/Users/mdavis/PS/cs_static/libs/csutil/ptmalloc 
> -I/Users/mdavis/PS/cs_static/libs/csutil/ptmalloc/sysdeps/pthread 
> -DCS_CONFIGDIR='"/usr/local/etc/crystalspace-1.9"' 
> -DCS_PLUGINDIR='"/usr/local/lib/crystalspace-1.9"' 
> -DCS_COMPILER_NAME_AND_VERSION='"GCC_4.0"' 
> /Users/mdavis/PS/cs_static/libs/csutil/ansiparse.cpp
> 
> ...failed C++ ./out/macosxx86/optimize/libs/csutil/ansiparse.o ...
> C++ ./out/macosxx86/optimize/libs/csutil/archive.o 
> In file included from /Users/mdavis/PS/cs_static/libs/csutil/archive.cpp:19:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> In file included from /Users/mdavis/PS/cs_static/libs/csutil/archive.cpp:19:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> ./include/csutil/csendian.h:136: error: redefinition of &#8216;struct 
> csLittleEndian&#8217;
> ./include/csutil/csendian.h:109: error: previous definition of 
> &#8216;struct csLittleEndian&#8217;
> ./include/csutil/csendian.h:136: error: redefinition of &#8216;struct 
> csLittleEndian&#8217;
> ./include/csutil/csendian.h:109: error: previous definition of 
> &#8216;struct csLittleEndian&#8217;
> lipo: can't open input file: 
> /var/folders/Rj/RjCW9UoGGZGlzcoLK5eoT++++TI/-Tmp-//cc7MJHk3.out (No such 
> file or directory)
> 
>   g++ -c -o ./out/macosxx86/optimize/libs/csutil/archive.o 
> -I/Users/mdavis/PS/cs_static/. -I./include 
> -I/Users/mdavis/PS/cs_static/./include -isysroot 
> /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc 
> -mmacosx-version-min=10.4 -pipe -isysroot 
> /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc 
> -mmacosx-version-min=10.4 -msse -msse2 -Wmost -Wno-unknown-pragmas 
> -fvisibility=hidden -I/usr/local/include -Wno-long-double 
> -force_cpusubtype_ALL -fno-common -fno-exceptions -O3 
> -fomit-frame-pointer -ffast-math -g2 -DCS_CRYSTALSPACE_LIB 
> -DCS_PLUGIN_META_EXT='".csplugin"' -DCS_PLUGIN_EXT='".csbundle"' 
> -I/Users/mdavis/PS/cs_static/libs/csutil/ptmalloc 
> -I/Users/mdavis/PS/cs_static/libs/csutil/ptmalloc/sysdeps/pthread 
> -DCS_CONFIGDIR='"/usr/local/etc/crystalspace-1.9"' 
> -DCS_PLUGINDIR='"/usr/local/lib/crystalspace-1.9"' 
> -DCS_COMPILER_NAME_AND_VERSION='"GCC_4.0"' 
> /Users/mdavis/PS/cs_static/libs/csutil/archive.cpp
> 
> ...failed C++ ./out/macosxx86/optimize/libs/csutil/archive.o ...
> C++ ./out/macosxx86/optimize/libs/csutil/base64.o 
> In file included from /Users/mdavis/PS/cs_static/libs/csuti
> l/base64.cpp:19:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> In file included from /Users/mdavis/PS/cs_static/libs/csutil/base64.cpp:19:
> ./include/cssysdef.h:906:4: error: #error No CS_XXX_ENDIAN macro defined 
> in your OS-specific csosdefs.h!
> ^C...interrupted
> Interrupted by signal 2
> Interrupted by signal 2
> ...failed updating 3 target(s)...
> ...updated 2 target(s)...
> 
> I was suggested on irc to send an email to the mailing list for further 
> help from Eric. I have been told on irc that CS should not be a 
> universal binary but i know it has been done before, so what am i missing?
> 
> Thanks,
> 
> Caarrie
> 
> 
> 
> ------------------------------------------------------------------------
> 
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Crystal-main mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/crystal-main
> Unsubscribe: 
> mailto:[email protected]?subject=unsubscribe


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:[email protected]?subject=unsubscribe

Reply via email to