Skip to content

tfiner/adobe_asl

Repository files navigation

This is a fork of the project at Sourceforge of Adobe Software Labs.

Building:
Prerequisites:
    CMake 2.8+
    gcc 4.6+ / clang 3.2+
    TBB 4.0+
    boost 1.49+

These instructions are assuming that you are at a command line.
1. Use github to pull from this repository (instructions are on github).
2. Make a build result directory (mkdir Debug).
3. Cd to the new build directory (cd Debug).
4. Configure CMake (ccmake <path to source>)
5. Optionally choose your compiler [t], CMAKE_CXX_COMPILER, CMAKE_C_COMPILER, [c]onfigure
6. Set CMAKE_BUILD_TYPE (return, type in Debug, Release, etc., return), [c]onfigure
7. If all goes well, then [g]enerate.
8. make -j <number of cores>

Unit Tests:
make test

Goals:

1. Use the Adam and Eve libraries to create a sample UI.

2. Painlessly build the libraries using a modern C++ compiler (like Clang).
Done.  A CMake driven Clang-3.2 builds the ASL and APL as dynamic libraries.

3. Depend upon system installations of Boost and TBB.
Done.  No patching needed.  On OS X anyways, it's a simple matter to use mac ports 
commands to install both.  CMake automatically detects and uses them.

CMake 2.8
boost-1.49 (unpatched)
TBB tbb40_20110809oss
clang 3.2
gcc 4.7 (almost working see problem 3 below)

Note that no attempt yet has been made to build on a linux or a windows (yet).

Building Prerequisites
MacPorts:
    sudo port install boost +universal +debug
        (wait a long time, macports has multicore support disabled for bjam)
        You must use the +universal variant to build the 32 bit version.
        The +debug variant is nice to have, and not strictly necessary.
        
    sudo port install tbb +universal +debug

Problems
1. [Fixed] Deleted FontManager API calls in platform_widget_utils.cpp

deleted functions:
FMGetFontFromATSFontRef
FMGetFontFamilyInstanceFromFont

I did some research and it looks like those two functions have been deprecated for a long time, and they were finally deleted in 10.7.

[Fix] I added -isysroot /Developer/SDKs/MacOSX10.6.sdk and it picks up the deprecated functions that no longer exist in 10.7.  I tried using CMake's CMAKE_OSX_SYSROOT, but that didn't show any include path changes when building verbosely and subsequently did not work.

2. [Fixed] 64 bit build
There are a few errors relating to 64 bit in the platform library.  I found out that it is related to Carbon and the Navigation system.  The function calls in the platform code aren't available in 64 bit.  There are newer API calls that are in the 64 bit version, but I'm not familiar enough to make those changes.

[Fix] I'm building 32 bit versions of the libraries via -m32.

3. GCC-4.7 doesn't build
/opt/local/include/gcc47/c++/cmath:1108:11: error: '::llrint' has not been declared
...

I'm ignoring this as I got everything to build with clang.

About

A fork of Adobe Software Labs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages