Commit f5958f25 authored by Michael Hanus 's avatar Michael Hanus

Front end sources added as submodule

parent ee2099ba
......@@ -53,7 +53,6 @@ bin/dataToXml
# documentation
[submodule "lib"]
path = lib
url = git://
[submodule "frontend/curry-frontend"]
path = frontend/curry-frontend
url = git://
[submodule "frontend/curry-base"]
path = frontend/curry-base
url = git://
......@@ -29,12 +29,11 @@ Then, each future update can be obtained by the executing
git pull
git submodule update
Since the front end used by PAKCS is an independent development
with its own repository, you should execute the command
If you install PAKCS for the first time, you need to install
some Haskell packages required by the front end via Cabal,
i.e., run the command
make frontendsources
to obtain the up-to-date sources of the front.
make installcabal
Now you can install the complete system by the command
......@@ -53,7 +53,7 @@ all: config
install: installscripts
# install cabal front end if sources are present:
@if [ -d frontend ] ; then ${MAKE} installfrontend ; fi
# install the front-end if necessary:
# install the front-end script:
cd bin && rm -f parsecurry && ln -s .pakcs_wrapper parsecurry
# pre-compile all libraries:
@cd lib && ${MAKE} fcy
......@@ -95,13 +95,18 @@ installscripts:
.PHONY: installfrontend
@if [ ! -d ${LOCALBIN} ] ; then mkdir ${LOCALBIN} ; fi
cabal update
cabal install mtl
cd frontend/curry-base && cabal install # --force-reinstalls
cd frontend/curry-frontend && cabal install # --force-reinstalls
# copy cabal installation of front end into local directory
@if [ -f ${HOME}/.cabal/bin/cymake ] ; then cp -p ${HOME}/.cabal/bin/cymake ${LOCALBIN} ; fi
# install required cabal packages required by the front end
# (only necessary if the front end is installed for the first time)
.PHONY: installcabal
cabal update
cabal install mtl
# Create file with version information for Curry2Prolog:
${C2PVERSION}: Makefile
echo ':- module(pakcsversion,[compilerVersion/1, compilerMajorVersion/1, compilerMinorVersion/1, compilerRevisionVersion/1, buildVersion/1, buildDate/1]).' > $@
......@@ -155,25 +160,12 @@ cleantools:
# temporary directory to create distribution version
# repository with new front-end:
# install the sources of the front end from its repository
.PHONY: frontendsources
if [ -d frontend ] ; then \
cd frontend/curry-base && git pull && cd ../curry-frontend && git pull ; \
else mkdir frontend && cd frontend && \
git clone ${FRONTENDREPO}/curry-base.git && \
git clone ${FRONTENDREPO}/curry-frontend.git ; fi
.PHONY: dist
rm -rf pakcs*.tar.gz ${PAKCSDIST} # remove old distributions
cp -r -p . ${PAKCSDIST} # create complete copy of this version
# install front end sources if they are not present:
if [ ! -d frontend ] ; then \
cd ${PAKCSDIST} && ${MAKE} frontendsources ; fi
cd ${PAKCSDIST} && ${MAKE} cleandist # delete unnessary files
sed -e "/PAKCS developers/,\$$d" < ${PAKCSDIST}/bin/.pakcs_variables.init > ${PAKCSDIST}/bin/.pakcs_variables
rm ${PAKCSDIST}/bin/.pakcs_variables.init
curry-base @ c153b29d
Subproject commit c153b29d9b678566f81a0671010382a6917c8c99
curry-frontend @ 97315468
Subproject commit 9731546878510f13bdad75602917f1483be4ffc6
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment