Introduction
So we spent a few days with our entire team, which consists of 2 people, including me (which means that our efforts were not as professional as yours), CloudObserver , to do this using ASL .
We found how to compile ASL for Windows and Mac OS.
We created a graphical GUI with simple tutorials in ASL that worked great with Mac OS X and Windows, so we saw that Adobe Source Libraries work to create at least a simple interface and dialogs.
Then we started trying to get it working with linux.
Meat
We started by compiling ASL on linux, first installing the deprecated asl_1.0.43_net_setup.sh . It was pretty eazy here is our code:
#!/bin/bash ASL_DISTRO_NAME=asl_1.0.43.tgz ASL_NAME=source_release APL_DISTRO_NAME=apl_1.0.43.tgz APL_VERSION=1.0.43 APL_NAME=platform_release ASL_DISTRO_SITE=surfnet.dl.sourceforge.net BOOST_NAME=boost_1_44_0 BOOST_VERSION=1.44.0 BOOST_DISTRO_NAME="$BOOST_NAME".tar.gz #-L protects against redirects CURL_CMD=curl\ -L INTEL_TBB_NAME=tbb30_018oss INTEL_TBB_DISTRO_NAME="$INTEL_TBB_NAME"_src.tgz # Run a command, and echo before doing so. Also checks the exit # status and quits if there was an error. # # WARNING : Does *not* work when the command uses the redirection operator (>) # echo_run () { echo " $@ " " $@ " r=$? if test $r -ne 0 ; then exit $r fi } test_path() { hash $1 1>/dev/null 2>/dev/null } WD=`pwd` MACHINE=`uname` HERE=`dirname $0` cd $HERE if [ "$1" != "" ]; then ASL_DISTRO_SITE="$1" fi #http:
So we have compiled libasl_dev.a. Unfortunately, just that. This is completely useless to us, because we want a graphical interface , and not just an Adam reader.
So, we needed an analog of libasl_widgets.dll on Windows - libasl_widgets_dev.a. I quote ASL/platform_release/jamroot.jam
APL does not support gcc cygwin, although ASL does. Only supported toolkits for mslc and darwin APL
So adobe reminds us that it supports Linux. This is just sad! Way 2 Garden! So we discovered the missioncode project .
It was dated 2006 and increased 1.33.1, so it was sad. It was also sad in here
The external libraries that are used by the mission are stored here.
This keeps them in our assembly and means that we do not need magic build scripts / rules to get prereqs installed.
The point is that they do not have separate assembly files for libraries - libraries are embedded in the project. But the whole project is compiled through bjam, and inside the project, Boost, ASL and other libraries are divided into projects . This means that each of these subprojects is compiled in order and inan exequtable or in lib.
But all we really needed from ASL was a simple GUI for the simple needs of a non-GUI-oriented small open source cross-platform project. We needed a button, a scale (aka slider, aka trackbar) and text input feild. And some large-scale options for future development. So we thought - allows compele ASL from the codecode project in any way.
First we tried some modern Ubuntu 11 and 11 and OpenSuse (Mono for VMware from here ) that we use every day. But he constantly failed with errors. Therefore, we thought - let's compile it earlier, more suitable for the OS by age. We started working with Ubuntu 4 and were going to version. It compiled on 6.10 with some minor fixes, for example
diff -crB original/external/adobe/adobe/basic_sheet.hpp modified/external/adobe/adobe/basic_sheet.hpp *** original/external/adobe/adobe/basic_sheet.hpp 2011-06-25 08:21:48.000000000 +0400 --- modified/external/adobe/adobe/basic_sheet.hpp 2011-06-25 08:24:33.000000000 +0400 *************** *** 13,18 **** --- 13,19 ---- #include <deque> #include <map> + #include <vector> #include <adobe/name.hpp> #include <adobe/any_regular.hpp> diff -crB original/external/adobe/source/xstring.cpp modified/external/adobe/source/xstring.cpp *** original/external/adobe/source/xstring.cpp 2011-06-25 08:21:46.000000000 +0400 --- modified/external/adobe/source/xstring.cpp 2011-06-25 08:24:10.000000000 +0400 *************** *** 331,337 **** { typedef std::iterator_traits<store_iterator>::difference_type difference_type; ! difference_type range_size(boost::size(range)); if (!range_size) return glossary_m.end(); --- 331,337 ---- { typedef std::iterator_traits<store_iterator>::difference_type difference_type; ! difference_type range_size(boost::distance(range)); if (!range_size) return glossary_m.end();
we had a Missioncode compiling ASL with Widgets. Widgets were completely created using the mission code, so there was no military action if that worked .. but we had compiled the full trunk code (also an application called missionPhoto), and the application worked fine.
We tried to compile our code with this full ASL, but it turned out that the ASL api that we had on the window does not work on the ASL that we had on the windows ... more or less at all. = (
Not the end
But still there is hope that any of you, dear SO users with extensive experience, will look at the ASL that is in MissionCode and at the current ASL, and provide all of us with ASL 1.0.43 for Linux.