The Aszgard Package for Syzygy on PCs
25may10

\textit{$\C$  2010, Prof. George K. Francis, Mathematics Department,
University of Illinois}

\begin{document}
\maketitle

\begin{document}

Link to the Offical Aszgard Webpage.
Directory of Miscellaneous Windows Applications

\section{Introduction}
This is the second document about items you might prepare if you
have time in preparation for our illiMath2010 REU.

\subsection{Where to install Aszgard}
Aszgard is a file tree which should be installed in the root directory
of your pc. It is \textbf{NOT} a typical Windows application which invades
you Windows Registry, and so does not have to be uninstalled when you
want to get rid of it. Just delete the filetree. Moreover, you
can have several copies of Aszgard. The reason it must not be placed on your
computer with a path that contains spaces (such as your Desktop, for instance)
is that Aszgard, like all decent file-path dependent packages cannot tolerate
the space character. The space character indicates the end of a path, even
if it happes just to be part of a multiword file name.

\subsection{Aszgard geography}
The root directory can be named anything you like. But after that, you
should be careful about changing names of files already there. Let's call
the Aszgard root directory it \texbf{Foyer}. The Foyer has some files and many
subdirectories. The two most important ones are these:

\subsubsection{Aszgard shells}

You have a choice of several shells with which you run, edit, modify, and
extend Aszgard. You execute their batch files, which you
recognize by the .bat suffix. When I discuss an Aszgard shell
I will describe the \texttt{win_shell.bat}, which is a commandline shell
I am used to. But you will want to explore some other shells, because you
aren't (yet!) used to command line shells.

But, whichever shell you open first, it will remember where the Aszgard
root begins for all subsequent Aszgard transactions. To run a different
Aszgard, for instance, you would open another shell there, and have two
Syzygys available to you simultaneously.

\subsubsection{Syzygy}
The most important subdirectory in the Foyer of Aszgard is the
Syzgygy directory, named \texttt{szg}. Again, the root directory
of Syzygy (szg henceforth) has more and less important subdirectories.
All executables of szg are present in  \texttt{szg/bin/win32}
for Windows (darwin for Apples, etc). So you check this directory. If it doesn't have a lot
of files in it, then your szg isn't compiled yet.

The second most important subdirectory of the Syzygy foyer,
\texttt{szg/src/}, contains the source files for compiling Syzygy itself.
This is done with the help of the third most important subdirectory of the
Syzygy foyer, \texttt{szg/build}.

\subsection{Skeleton}
This is an example of a Syzygy application, like the ones you will write.
Unlike the ones you will write, the Skeleton is not very dynamic. It is
designed to help people write applications suitable for psychological
experiments. Nevertheless, it is well documented, and typical of applications.

\subsubsection{Application geography}
The geography of a Syzygy application file tree mimics the geography of
the szg directory itself, with some subtle differences. The foyer of an
application has the \texttt{src, build, data} subdirectories and a
\texttt{Makefile}. When you (re)compile the application, you would execute
the command "make" from the foyer of the application (not the szg foyer, which
would try to remake Syzygy and would take a long time).

In fact, the application tree \textbf{does not} have to be located inside
the szg foyer, or inside the Aszgard file tree. In fact, it is wiser to have
it be located on your desktop, for instance.

Notice there is no app/bin directory, but there is an app/build directory.
In the app/build there are several subdirectories. The most important of
these is the one called \texttt{build/makefiles} which contains the weirdest
makefile you're ever likely to see, appropriately named \texttt{Makefile.my_app}
This, finally, is the mother of all makefiles which you need to edit,
All the other you may have seen residing in various directories, are her
slaves.  These should not be edited by you.

\subsection{Multiple .exe mystery explained.}
One of the deepest mysteries of the already bizarrely mysterious Syzygy
labyrinth is the duplication of the executable files you compile. When
you compile the Skeleton, for example, a skeleton.exe appears in
\texttt{szg/skeleton/build/win32/} and also in \texttt{szg/bin/win32/}.
The reason for this is in a Syzygy cluster of computers (called a
\textit{phleet}, the binaries have to be available to all the members
of the phleet. When you compile your application at home, the binaries
reside in the szg/bin. But in the Cube, for example, these need to be
somewhere else as well. The szg package does it all for you automatically.

\section{Miscellaneous Windows Applications}
In the illimath/window/ pages are four more items you should consider.
\subsection{aszgard-mini}
A zipped and unzipped (for inspection) older (2008) version of an
abbreviated and \textbf{non-compiled} Aszgard is in this directory too.
If you don't want to download the big compiled version, or the official
(also uncompiled) version from the official ISL website
but want to try your hand at compiling, this is available.

\subsection{winaid}
\end{document}