From a1bd6b838b35edb3c1ba312b34f326b648750144 Mon Sep 17 00:00:00 2001 From: "ramiro%netscape.com" Date: Thu, 1 Apr 1999 08:01:07 +0000 Subject: [PATCH] Add shell scripts to run mozilla viewer and apprunner. The scripts should setup all the environment voodoo needed to run the programs. git-svn-id: svn://10.0.0.236/trunk@25836 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/build/run-mozilla.sh | 213 ++++++++++++++++++ mozilla/webshell/tests/viewer/Makefile.in | 6 +- .../webshell/tests/viewer/mozilla-viewer.sh | 45 ++++ mozilla/xpfe/bootstrap/Makefile.in | 4 + mozilla/xpfe/bootstrap/mozilla-apprunner.sh | 45 ++++ 5 files changed, 312 insertions(+), 1 deletion(-) create mode 100755 mozilla/build/run-mozilla.sh create mode 100755 mozilla/webshell/tests/viewer/mozilla-viewer.sh create mode 100755 mozilla/xpfe/bootstrap/mozilla-apprunner.sh diff --git a/mozilla/build/run-mozilla.sh b/mozilla/build/run-mozilla.sh new file mode 100755 index 00000000000..a9f98c212c0 --- /dev/null +++ b/mozilla/build/run-mozilla.sh @@ -0,0 +1,213 @@ +#!/bin/sh +# +# The contents of this file are subject to the Netscape Public License +# Version 1.0 (the "NPL"); you may not use this file except in +# compliance with the NPL. You may obtain a copy of the NPL at +# http://www.mozilla.org/NPL/ +# +# Software distributed under the NPL is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL +# for the specific language governing rights and limitations under the +# NPL. +# +# The Initial Developer of this code under the NPL is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All Rights +# Reserved. +# + +## +## Usage: +## +## $ run-mozilla.sh [program] +## +## This script is meant to run a mozilla program from the mozilla +## source tree. This is mostly useful to folks hacking on mozilla. +## +## A mozilla program is currently either viewer or apprunner. The +## default is viewer. +## +## The script will setup all the environment voodoo needed to make +## mozilla work. + +## +## Standard shell script disclaimer blurb thing: +## +## This script is a hcak. Its brute force. Its horrible. +## It doesnt use Artificial Intelligence. It doesnt use Virtual Reality. +## Its not perl. Its not python. It probably wont work unchanged on +## the "other" thousands of unices. But it worksforme. +## +## If you have an improvement, patch, idea, whatever, on how to make this +## script better, post it here: +## +## news://news.mozilla.org/netscape.public.mozilla.patches +## news://news.mozilla.org/netscape.public.mozilla.unix +## + +## +## Potential improvements: +## +## + Run from anywhere in the tree. +## + Run ldd on the program and report missing dlls +## + Deal with NSPR in the tree +## + All the "other" unices +## + +cmdname=`basename $0` + +## +## Constants +## +MOZ_APPRUNNER_NAME="apprunner" +MOZ_VIEWER_NAME="viewer" + +## +## Variables +## +MOZ_DIST_BIN="" +MOZ_PROGRAM="" + +## +## Functions +## +moz_bail() +{ + message=$1 + + echo + echo "$cmdname: $message" + echo + + exit 1 +} + +moz_test_binary() +{ + binary=$1 + + if [ -f "$binary" ] + then + if [ -x "$binary" ] + then + return 1 + fi + fi + + return 0 +} + +## +## Program name given in $1 +## +if [ $# -gt 0 ] +then + MOZ_PROGRAM=$1 + + shift +fi + +## +## Program not given, try to guess a default +## +if [ -z "$MOZ_PROGRAM" ] +then + ## + ## Try viewer + ## + moz_test_binary $MOZ_VIEWER_NAME + + if [ $? -eq 1 ] + then + MOZ_PROGRAM=$MOZ_VIEWER_NAME + ## + ## Try apprunner + ## + else + moz_test_binary $MOZ_APPRUNNER_NAME + + if [ $? -eq 1 ] + then + MOZ_PROGRAM=$MOZ_APPRUNNER_NAME + fi + fi +fi + +## +## Running the program from its source dir +## +if [ -f Makefile.in ] +then + # Use DEPTH in the Makefile.in to determine the depth + depth=`grep -w DEPTH Makefile.in | grep -e "\.\." | awk -F"=" '{ print $2; }'` + + ## + ## Make sure dist/bin exits + ## + if [ ! -d $depth/dist/bin ] + then + moz_bail "$depth/dist/bin does not exist." + fi + + # push + here=`pwd` + + cd $depth/dist/bin + + MOZ_DIST_BIN=`pwd` + + # pop + cd $here +else + ## + ## Running the program from dist/bin + ## + if [ -d components -a -d res ] + then + MOZ_DIST_BIN=`pwd` + fi +fi + +## +## Make sure dist/bin is ok +## +if [ -z "$MOZ_DIST_BIN" ] +then + moz_bail "Cannot access dir dist/bin directory." +fi + +if [ ! -d $MOZ_DIST_BIN ] +then + moz_bail "Cannot access dir dist/bin directory." +fi + +## +## Make sure the program is executable +## +if [ ! -x $MOZ_PROGRAM ] +then + moz_bail "Cannot execute $MOZ_PROGRAM." +fi + +## +## Set MOZILLA_FIVE_HOME +## +MOZILLA_FIVE_HOME=$MOZ_DIST_BIN + +## +## Set LD_LIBRARY_PATH +## +if [ -n "$LD_LIBRARY_PATH" ] +then + LD_LIBRARY_PATH=${MOZ_DIST_BIN}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"} +else + LD_LIBRARY_PATH=${MOZ_DIST_BIN} +fi + +echo "MOZILLA_FIVE_HOME=$MOZILLA_FIVE_HOME" +echo " LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +echo " MOZ_PROGRAM=$MOZ_PROGRAM" + +export MOZILLA_FIVE_HOME LD_LIBRARY_PATH + +exec ./$MOZ_PROGRAM ${1+"$@"} diff --git a/mozilla/webshell/tests/viewer/Makefile.in b/mozilla/webshell/tests/viewer/Makefile.in index b07126db7fc..a30b5c7a79a 100644 --- a/mozilla/webshell/tests/viewer/Makefile.in +++ b/mozilla/webshell/tests/viewer/Makefile.in @@ -157,7 +157,11 @@ CXXFLAGS += $(TOOLKIT_CFLAGS) include $(topsrcdir)/config/rules.mk -install:: $(PROGRAM) +RUN_VIEWER_SCRIPT=mozilla-viewer.sh + +install:: $(PROGRAM) $(RUN_VIEWER_SCRIPT) $(INSTALL) $(EXPORT_RESOURCE_SAMPLES) $(DIST)/bin/res/samples $(INSTALL) $(EXPORT_RESOURCE_THROBBER) $(DIST)/bin/res/throbber $(INSTALL) $(srcdir)/resources/viewer.properties $(DIST)/bin/res + $(INSTALL) $(RUN_VIEWER_SCRIPT) $(DIST)/bin + diff --git a/mozilla/webshell/tests/viewer/mozilla-viewer.sh b/mozilla/webshell/tests/viewer/mozilla-viewer.sh new file mode 100755 index 00000000000..bf4d628d714 --- /dev/null +++ b/mozilla/webshell/tests/viewer/mozilla-viewer.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# +# The contents of this file are subject to the Netscape Public License +# Version 1.0 (the "NPL"); you may not use this file except in +# compliance with the NPL. You may obtain a copy of the NPL at +# http://www.mozilla.org/NPL/ +# +# Software distributed under the NPL is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL +# for the specific language governing rights and limitations under the +# NPL. +# +# The Initial Developer of this code under the NPL is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All Rights +# Reserved. +# + +## +## Usage: +## +## $ mozilla-viewer.sh [viewer args] +## +## This script is meant to run the gecko viewer from either +## mozilla/webshell/tests/viewer or mozilla/dist/bin. +## +## The script will setup all the environment voodoo needed to make +## the viewer work. +## + +depth="" + +# Running from dist/bin +if [ -d components -a -d res ] +then + depth="../.." +else + # Running from source dir + if [ -f Makefile.in ] + then + depth=`grep -w DEPTH Makefile.in | grep -e "\.\." | awk -F"=" '{ print $2; }'` + fi +fi + +$depth/build/run-mozilla.sh viewer ${1+"$@"} diff --git a/mozilla/xpfe/bootstrap/Makefile.in b/mozilla/xpfe/bootstrap/Makefile.in index 0a7f6d25207..20a0a128486 100644 --- a/mozilla/xpfe/bootstrap/Makefile.in +++ b/mozilla/xpfe/bootstrap/Makefile.in @@ -95,3 +95,7 @@ CFLAGS += $(TOOLKIT_CFLAGS) include $(topsrcdir)/config/rules.mk +RUN_APPRUNNER_SCRIPT=mozilla-apprunner.sh + +install:: $(RUN_APPRUNNER_SCRIPT) + $(INSTALL) $(RUN_APPRUNNER_SCRIPT) $(DIST)/bin diff --git a/mozilla/xpfe/bootstrap/mozilla-apprunner.sh b/mozilla/xpfe/bootstrap/mozilla-apprunner.sh new file mode 100755 index 00000000000..1c3fcae9d2e --- /dev/null +++ b/mozilla/xpfe/bootstrap/mozilla-apprunner.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# +# The contents of this file are subject to the Netscape Public License +# Version 1.0 (the "NPL"); you may not use this file except in +# compliance with the NPL. You may obtain a copy of the NPL at +# http://www.mozilla.org/NPL/ +# +# Software distributed under the NPL is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL +# for the specific language governing rights and limitations under the +# NPL. +# +# The Initial Developer of this code under the NPL is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All Rights +# Reserved. +# + +## +## Usage: +## +## $ mozilla-apprunner.sh [apprunner args] +## +## This script is meant to run the gecko apprunner from either +## mozilla/xpfe/bootstrap or mozilla/dist/bin. +## +## The script will setup all the environment voodoo needed to make +## the apprunner work. +## + +depth="" + +# Running from dist/bin +if [ -d components -a -d res ] +then + depth="../.." +else + # Running from source dir + if [ -f Makefile.in ] + then + depth=`grep -w DEPTH Makefile.in | grep -e "\.\." | awk -F"=" '{ print $2; }'` + fi +fi + +$depth/build/run-mozilla.sh apprunner ${1+"$@"}