I submitted this to the CS tracker. Please post any additional information there.
http://trac.crystalspace3d.org/trac/CS/ticket/632 -- ES Eric Sunshine wrote: > 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 > > mcdav...@gmail.com 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 ‘struct >> csLittleEndian’ >> ./include/csutil/csendian.h:109: error: previous definition of >> ‘struct csLittleEndian’ >> ./include/csutil/csendian.h:136: error: redefinition of ‘struct >> csLittleEndian’ >> ./include/csutil/csendian.h:109: error: previous definition of >> ‘struct csLittleEndian’ >> 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 >> Crystal-main@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/crystal-main >> Unsubscribe: >> mailto:crystal-main-requ...@lists.sourceforge.net?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 > Crystal-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/crystal-main > Unsubscribe: > mailto:crystal-main-requ...@lists.sourceforge.net?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 Crystal-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/crystal-main Unsubscribe: mailto:crystal-main-requ...@lists.sourceforge.net?subject=unsubscribe