Browse Source

New way of generating startup scripts (bin/prism, etc.).

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@126 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 20 years ago
parent
commit
6118ce60e9
  1. 72
      prism/Makefile
  2. 16
      prism/install.sh
  3. 0
      prism/src/bin/prism.bat
  4. 46
      prism/src/bin/prism.cygwin
  5. 46
      prism/src/bin/prism.darwin
  6. 2
      prism/src/bin/prism.linux
  7. 0
      prism/src/bin/xprism.bat
  8. 2
      prism/src/bin/xprism.linux

72
prism/Makefile

@ -196,6 +196,39 @@ JAVA_INCLUDES = -I $(JAVA_JNI_H_DIR) -I $(JAVA_JNI_MD_H_DIR)
MAKE_DIRS = dd jdd odd dv prism mtbdd sparse hybrid parser settings chart userinterface pepa/compiler apmc simulator
ifeq ($(OSTYPE),linux)
BIN_PRISM=bin/prism
BIN_PRISM_SRC=src/bin/prism.linux
BIN_XPRISM=bin/xprism
BIN_XPRISM_SRC=src/bin/xprism.linux
BIN_TARGETS=$(BIN_PRISM) $(BIN_XPRISM)
endif
ifeq ($(OSTYPE),solaris)
BIN_PRISM=bin/prism
BIN_PRISM_SRC=src/bin/prism.linux
BIN_XPRISM=bin/xprism
BIN_XPRISM_SRC=src/bin/xprism.linux
BIN_TARGETS=$(BIN_PRISM) $(BIN_XPRISM)
endif
ifeq ($(OSTYPE),cygwin)
BIN_PRISM=bin/prism
BIN_PRISM_SRC=src/bin/prism.cygwin
BIN_XPRISM=bin/xprism
BIN_XPRISM_SRC=src/bin/xprism.linux
BIN_PRISM=bin/prism.bat
BIN_PRISM_SRC=src/bin/prism.bat
BIN_XPRISM=bin/xprism.bat
BIN_XPRISM_SRC=src/bin/xprism.bat
BIN_TARGETS=$(BIN_PRISM) $(BIN_XPRISM) $(BIN_PRISM_BAT) $(BIN_XPRISM_BAT)
endif
ifeq ($(OSTYPE),darwin)
BIN_PRISM=bin/prism
BIN_PRISM_SRC=src/bin/prism.darwin
BIN_XPRISM=bin/xprism
BIN_XPRISM_SRC=src/bin/xprism.linux
BIN_TARGETS=$(BIN_PRISM) $(BIN_XPRISM)
endif
default: all
all: checks cuddpackage prism
@ -216,7 +249,7 @@ cuddpackageforce: # use this to force build of cudd (even if dir is just a symli
/bin/cp Makefile.$(OSTYPE) Makefile && \
$(MAKE)
prism: checks sortplugins make_dirs post_make
prism: checks sortplugins make_dirs bin_scripts
sortplugins:
# @(rm -f $(SRC_DIR)/apmc; \
@ -251,23 +284,27 @@ make_dirs:
LIBPREFIX="$(LIBPREFIX)" \
LIBSUFFIX="$(LIBSUFFIX)") \
|| exit 1; \
done
post_make:
@(if [ "$(OSTYPE)" = "darwin" ]; then \
done; \
if [ "$(OSTYPE)" = "darwin" ]; then \
echo Creating shared library symlinks...; \
(cd $(LIB_DIR) && \
for lib in `ls *$(LIBSUFFIX)`; do ln -fs $$lib `echo $$lib | sed s/$(LIBSUFFIX)/.jnilib/`; done;); \
fi; \
echo Fixing startup scripts...; \
(cd bin && \
if [ "$(OSTYPE)" = "darwin" ]; then \
sed 's/\(DY\)*LD_LIBRARY_PATH/DYLD_LIBRARY_PATH/g' prism > prism.tmp; \
else \
sed 's/\(DY\)*LD_LIBRARY_PATH/LD_LIBRARY_PATH/g' prism > prism.tmp; \
fi; \
mv prism.tmp prism; \
chmod 755 prism ))
fi
bin_scripts: $(BIN_TARGETS)
@./install.sh silent
$(BIN_PRISM): $(BIN_PRISM_SRC)
@echo "$< -> $@"; cp $< $@
$(BIN_XPRISM): $(BIN_XPRISM_SRC)
@echo "$< -> $@"; cp $< $@
$(BIN_PRISM_BAT): $(BIN_PRISM_BAT_SRC)
@echo "$< -> $@"; cp $< $@
$(BIN_XPRISM_BAT): $(BIN_XPRISM_BAT_SRC)
@echo "$< -> $@"; cp $< $@
dist: dist_copy clean_all dist_files dist_tidy
@ -318,7 +355,7 @@ dist_tidy:
@find . \( -type d -o -type s \) -exec chmod 755 {} \;
@find . -type f \( -name '*.sh' -o -name '*.so' -o -name '*.dll' \) -exec chmod 755 {} \;
@find examples -type f -name 'auto' -exec chmod 755 {} \;
@chmod 755 bin/*
@chmod 755 bin/* src/bin/*
binary:
@echo Generating jar file...
@ -346,7 +383,8 @@ clean: checks
|| exit 1; \
done; \
find $(CLASSES_DIR) -name '*.class' -exec rm {} \; ; \
rm -f lib/*jnilib)
rm -f lib/*jnilib; \
rm $(BIN_PRISM) $(BIN_XPRISM) $(BIN_PRISM_BAT) $(BIN_XPRISM_BAT) )
celan: clean

16
prism/install.sh

@ -13,22 +13,28 @@ if [ `basename $PRISM_DIR` = bin ]; then
fi
# Now start the 'installation'
echo "Installing PRISM (directory=$PRISM_DIR)"
if [ ! "$1" = "silent" ] ; then
echo "Installing PRISM (directory=$PRISM_DIR)"
fi
TEMP_FILE=tmp
for FILE_TO_CHANGE in bin/prism bin/xprism
do
if [ -f $PRISM_DIR/$FILE_TO_CHANGE ]; then
echo "Modifying script $PRISM_DIR/$FILE_TO_CHANGE..."
if [ ! "$1" = "silent" ] ; then
echo "Setting path in startup script $PRISM_DIR/$FILE_TO_CHANGE..."
fi
if sed -e "s|PRISM_DIR=.*|PRISM_DIR=$PRISM_DIR|g" $PRISM_DIR/$FILE_TO_CHANGE > $PRISM_DIR/$TEMP_FILE ; then
/bin/mv $PRISM_DIR/$TEMP_FILE $PRISM_DIR/$FILE_TO_CHANGE
chmod 755 $PRISM_DIR/$FILE_TO_CHANGE
else
echo "Installation failed."
echo "Error: Failed to modify startup scripts."
exit 0
fi
else
echo "Error: Could not locate script $PRISM_DIR/$FILE_TO_CHANGE"
echo "Error: Could not locate startup script $PRISM_DIR/$FILE_TO_CHANGE"
exit
fi
done
echo "Installation complete."
if [ ! "$1" = "silent" ] ; then
echo "Installation complete."
fi

0
prism/bin/prism.bat → prism/src/bin/prism.bat

46
prism/src/bin/prism.cygwin

@ -0,0 +1,46 @@
#!/bin/sh
# Startup script for PRISM (Linux/Solaris)
# PRISM home directory
PRISM_DIR=/home/luser/prism
# Command to launch Java
if [ "$PRISM_JAVA" = "" ]; then
PRISM_JAVA=java
fi
# Max memory for Java
if [ "$PRISM_JAVAMAXMEM" != "" ]; then
PRISM_JAVAMAXMEM=`echo "$PRISM_JAVAMAXMEM" | awk /^[0-9]+[mk]?$/`
if [ "$PRISM_JAVAMAXMEM" = "" ]; then
echo; echo "Error: Environment variable PRISM_JAVAMAXMEM is invalid."; exit
fi
PRISM_JAVAMAXMEM="-Xmx$PRISM_JAVAMAXMEM"
fi
# Add PRISM to LD_LIBRARY_PATH
if [ "$LD_LIBRARY_PATH" = "" ]; then
LD_LIBRARY_PATH="$PRISM_DIR"/lib
else
LD_LIBRARY_PATH="$PRISM_DIR"/lib:$LD_LIBRARY_PATH
fi
# Set up classpath - jar file (for binary versions) gets priority
PRISM_CLASSPATH="$PRISM_DIR"/lib/prism.jar:"$PRISM_DIR"/classes:"$PRISM_DIR"/lib/pepa.zip
# Export environment variables
export PRISM_DIR LD_LIBRARY_PATH
# Main Java class to launch
if [ "$PRISM_MAINCLASS" = "" ]; then
PRISM_MAINCLASS=prism.PrismCL
fi
# Do we run headless? (GUI overrides this)
if [ "$PRISM_HEADLESS" = "" ]; then
PRISM_HEADLESS=true
fi
# Run PRISM through Java
"$PRISM_JAVA" $PRISM_JAVAMAXMEM -Djava.awt.headless=$PRISM_HEADLESS -Djava.library.path=`cygpath -wp $PRISM_DIR/lib` -classpath `cygpath -wp $"$PRISM_CLASSPATH"` $PRISM_MAINCLASS "$@"

46
prism/src/bin/prism.darwin

@ -0,0 +1,46 @@
#!/bin/sh
# Startup script for PRISM (Linux/Solaris)
# PRISM home directory
PRISM_DIR=/home/luser/prism
# Command to launch Java
if [ "$PRISM_JAVA" = "" ]; then
PRISM_JAVA=java
fi
# Max memory for Java
if [ "$PRISM_JAVAMAXMEM" != "" ]; then
PRISM_JAVAMAXMEM=`echo "$PRISM_JAVAMAXMEM" | awk /^[0-9]+[mk]?$/`
if [ "$PRISM_JAVAMAXMEM" = "" ]; then
echo; echo "Error: Environment variable PRISM_JAVAMAXMEM is invalid."; exit
fi
PRISM_JAVAMAXMEM="-Xmx$PRISM_JAVAMAXMEM"
fi
# Add PRISM to DYLD_LIBRARY_PATH
if [ "$DYLD_LIBRARY_PATH" = "" ]; then
DYLD_LIBRARY_PATH="$PRISM_DIR"/lib
else
DYLD_LIBRARY_PATH="$PRISM_DIR"/lib:$DYLD_LIBRARY_PATH
fi
# Set up classpath - jar file (for binary versions) gets priority
PRISM_CLASSPATH="$PRISM_DIR"/lib/prism.jar:"$PRISM_DIR"/classes:"$PRISM_DIR"/lib/pepa.zip
# Export environment variables
export PRISM_DIR DYLD_LIBRARY_PATH
# Main Java class to launch
if [ "$PRISM_MAINCLASS" = "" ]; then
PRISM_MAINCLASS=prism.PrismCL
fi
# Do we run headless? (GUI overrides this)
if [ "$PRISM_HEADLESS" = "" ]; then
PRISM_HEADLESS=true
fi
# Run PRISM through Java
"$PRISM_JAVA" $PRISM_JAVAMAXMEM -Djava.awt.headless=$PRISM_HEADLESS -Djava.library.path=$PRISM_DIR/lib -classpath "$PRISM_CLASSPATH" $PRISM_MAINCLASS "$@"

2
prism/bin/prism → prism/src/bin/prism.linux

@ -3,7 +3,7 @@
# Startup script for PRISM (Linux/Solaris)
# PRISM home directory
PRISM_DIR=/home/staff/dxp/prism
PRISM_DIR=/home/luser/prism
# Command to launch Java
if [ "$PRISM_JAVA" = "" ]; then

0
prism/bin/xprism.bat → prism/src/bin/xprism.bat

2
prism/bin/xprism → prism/src/bin/xprism.linux

@ -3,7 +3,7 @@
# Startup script for PRISM GUI (Linux/Solaris)
# PRISM home directory
PRISM_DIR=/home/staff/dxp/prism
PRISM_DIR=/home/luser/prism
# Launch using main PRISM script
PRISM_MAINCLASS=userinterface.GUIPrism
Loading…
Cancel
Save