summaryrefslogtreecommitdiff
path: root/Docs/env.sh
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2017-06-09 17:28:55 +0100
committerVincent Sanders <vince@kyllikki.org>2017-06-09 17:30:00 +0100
commit703427a48612bf98fba599dfcd6e91485efd5b77 (patch)
treebc9df49dd3de746b738aac3ba88c204d9ab0051b /Docs/env.sh
parenta8348f3bc930151bd9aa184c8372c6af0c782730 (diff)
downloadnetsurf-703427a48612bf98fba599dfcd6e91485efd5b77.tar.gz
netsurf-703427a48612bf98fba599dfcd6e91485efd5b77.tar.bz2
Update documentation removing junk and moving to markdown for most text files
Diffstat (limited to 'Docs/env.sh')
-rw-r--r--Docs/env.sh320
1 files changed, 0 insertions, 320 deletions
diff --git a/Docs/env.sh b/Docs/env.sh
deleted file mode 100644
index 9cfc95650..000000000
--- a/Docs/env.sh
+++ /dev/null
@@ -1,320 +0,0 @@
-#!/bin/sh
-#
-# NetSurf Library, tool and browser support script
-#
-# Usage: source env.sh
-# TARGET_ABI / HOST sets the target for library builds
-# TARGET_WORKSPACE is the workspace directory to keep the sandboxes
-#
-# This script allows NetSurf and its libraries to be built without
-# requiring installation into a system.
-#
-# Copyright 2013 Vincent Sanders <vince@netsurf-browser.org>
-# Released under the MIT Licence
-
-# parameters
-
-# The system doing the building
-if [ "x${BUILD}" = "x" ]; then
- BUILD=$(cc -dumpmachine)
-fi
-
-# Get the host build if unset
-if [ "x${HOST}" = "x" ]; then
- if [ "x${TARGET_ABI}" = "x" ]; then
- HOST=${BUILD}
- else
- HOST=${TARGET_ABI}
- fi
-else
- HOST_CC_LIST="${HOST}-cc ${HOST}-gcc /opt/netsurf/${HOST}/cross/bin/${HOST}-cc /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
- for HOST_CC_V in $(echo ${HOST_CC_LIST});do
- HOST_CC=$(/bin/which ${HOST_CC_V})
- if [ "x${HOST_CC}" != "x" ];then
- break
- fi
- done
- if [ "x${HOST_CC}" = "x" ];then
- echo "Unable to execute host compiler for HOST=${HOST}. is it set correctly?"
- return 1
- fi
-
- HOST_CC_MACHINE=$(${HOST_CC} -dumpmachine 2>/dev/null)
-
- if [ "${HOST_CC_MACHINE}" != "${HOST}" ];then
- echo "Compiler dumpmachine differes from HOST setting"
- return 2
- fi
- unset HOST_CC_LIST HOST_CC_V HOST_CC HOST_CC_MACHINE
-fi
-
-if [ "x${TARGET_WORKSPACE}" = "x" ]; then
- TARGET_WORKSPACE=${HOME}/dev-netsurf/workspace
-fi
-
-if [ "x${USE_CPUS}" = "x" ]; then
- NCPUS=$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null)
- NCPUS="${NCPUS:-1}"
- NCPUS=$((NCPUS * 2))
- USE_CPUS="-j${NCPUS}"
-fi
-
-# The GTK version to build for (either 2 or 3 currently)
-if [ "x${NETSURF_GTK_MAJOR}" = "x" ]; then
- NETSURF_GTK_MAJOR=2
-fi
-
-
-###############################################################################
-# Setup environment
-###############################################################################
-
-echo "BUILD=${BUILD}"
-echo "HOST=${HOST}"
-echo "TARGET_WORKSPACE=${TARGET_WORKSPACE}"
-echo "USE_CPUS=${USE_CPUS}"
-
-export PREFIX=${TARGET_WORKSPACE}/inst-${HOST}
-export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}::
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PREFIX}/lib
-export PATH=${PATH}:${PREFIX}/bin
-export NETSURF_GTK_MAJOR
-
-# make tool
-MAKE=make
-
-# NetSurf GIT repositories
-NS_GIT="git://git.netsurf-browser.org"
-
-# Buildsystem: everything depends on this
-NS_BUILDSYSTEM="buildsystem"
-
-# internal libraries all frontends require (order is important)
-NS_INTERNAL_LIBS="libwapcaplet libparserutils libhubbub libdom libcss libnsgif libnsbmp libutf8proc libnsutils libnspsl"
-
-# The browser itself
-NS_BROWSER="netsurf"
-
-
-# add target specific libraries
-case "${HOST}" in
- i586-pc-haiku)
- # tools required to build the browser for haiku (beos)
- NS_TOOLS="nsgenbind"
- # libraries required for the haiku target abi
- NS_FRONTEND_LIBS="libsvgtiny"
- ;;
- *arwin*)
- # tools required to build the browser for OS X
- NS_TOOLS=""
- # libraries required for the Darwin target abi
- NS_FRONTEND_LIBS="libsvgtiny libnsfb"
- ;;
- arm-unknown-riscos)
- # tools required to build the browser for RISC OS
- NS_TOOLS="nsgenbind"
- # libraries required for the risc os target abi
- NS_FRONTEND_LIBS="libsvgtiny librufl libpencil librosprite"
- ;;
- *-atari-mint)
- # tools required to build the browser for atari
- NS_TOOLS=""
- # libraries required for the atari frontend
- NS_FRONTEND_LIBS=""
- ;;
- ppc-amigaos)
- # default tools required to build the browser
- NS_TOOLS="nsgenbind"
- # default additional internal libraries
- NS_FRONTEND_LIBS="libsvgtiny"
- ;;
- m68k-unknown-amigaos)
- # default tools required to build the browser
- NS_TOOLS="nsgenbind"
- # default additional internal libraries
- NS_FRONTEND_LIBS="libsvgtiny"
- ;;
- *-unknown-freebsd*)
- # tools required to build the browser for freebsd
- NS_TOOLS=""
- # libraries required for the freebsd frontend
- NS_FRONTEND_LIBS=""
- # select gnu make
- MAKE=gmake
- ;;
- *)
- # default tools required to build the browser
- NS_TOOLS="nsgenbind"
- # default additional internal libraries
- NS_FRONTEND_LIBS="libsvgtiny libnsfb"
- ;;
-esac
-
-export MAKE
-
-################ OS Package installation ################
-
-# deb packages for dpkg based systems
-NS_DEV_DEB="build-essential pkg-config git gperf libcurl3-dev libssl-dev libpng-dev libjpeg-dev"
-NS_TOOL_DEB="flex bison libhtml-parser-perl"
-if [ "x${NETSURF_GTK_MAJOR}" = "x3" ]; then
- NS_GTK_DEB="libgtk-3-dev librsvg2-dev"
-else
- NS_GTK_DEB="libgtk2.0-dev librsvg2-dev"
-fi
-
-# apt get commandline to install necessary dev packages
-ns-apt-get-install()
-{
- sudo apt-get install $(echo ${NS_DEV_DEB} ${NS_TOOL_DEB} ${NS_GTK_DEB})
-}
-
-# RPM packages for rpm based systems (tested on fedora 20)
-NS_DEV_RPM="git gcc pkgconfig libexpat-devel openssl-devel libcurl-devel perl-Digest-MD5-File libjpeg-devel libpng-devel"
-NS_TOOL_RPM="flex bison"
-if [ "x${NETSURF_GTK_MAJOR}" = "x3" ]; then
- NS_GTK_RPM="gtk3-devel librsvg2-devel"
-else
- NS_GTK_RPM="gtk2-devel librsvg2-devel"
-fi
-
-# yum commandline to install necessary dev packages
-ns-yum-install()
-{
- sudo yum -y install $(echo ${NS_DEV_RPM} ${NS_TOOL_RPM} ${NS_GTK_RPM})
-}
-
-# Haiku secondary arch suffix:
-# empty for primary (gcc2 on x86),
-# "_x86" for gcc4 secondary.
-HA=_x86
-# Haiku packages
-NS_DEV_HPKG="devel:libcurl${HA} devel:libpng${HA} devel:libjpeg${HA} devel:libcrypto${HA} devel:libiconv${HA} devel:libexpat${HA} cmd:pkg_config${HA} cmd:gperf html_parser"
-
-# pkgman commandline to install necessary dev packages
-ns-pkgman-install()
-{
- pkgman install $(echo ${NS_DEV_HPKG})
-}
-
-# MAC OS X
-NS_DEV_MACPORT="git expat openssl curl libjpeg-turbo libpng"
-
-ns-macport-install()
-{
- PATH=/opt/local/bin:/opt/local/sbin:$PATH sudo /opt/local/bin/port install $(echo ${NS_DEV_MACPORT})
-}
-
-NS_DEV_FREEBSDPKG="gmake curl"
-
-# FreeBSD package install
-ns-freebsdpkg-install()
-{
- pkg install $(echo ${NS_DEV_FREEBSDPKG})
-}
-
-# generic for help text
-NS_DEV_GEN="git, gcc, pkgconfig, expat library, openssl library, libcurl, perl, perl MD5 digest, libjpeg library, libpng library"
-NS_TOOL_GEN="flex tool, bison tool"
-if [ "x${NETSURF_GTK_MAJOR}" = "x3" ]; then
- NS_GTK_GEN="gtk+ 3 toolkit library, librsvg2 library"
-else
- NS_GTK_GEN="gtk+ 2 toolkit library, librsvg2 library"
-fi
-
-# Genertic OS package install
-# looks for package managers and tries to use them if present
-ns-package-install()
-{
- if [ -x "/usr/bin/apt-get" ]; then
- ns-apt-get-install
- elif [ -x "/usr/bin/yum" ]; then
- ns-yum-install
- elif [ -x "/bin/pkgman" ]; then
- ns-pkgman-install
- elif [ -x "/opt/local/bin/port" ]; then
- ns-macport-install
- elif [ -x "/usr/sbin/pkg" ]; then
- ns-freebsdpkg-install
- else
- echo "Unable to determine OS packaging system in use."
- echo "Please ensure development packages are installed for:"
- echo ${NS_DEV_GEN}"," ${NS_TOOL_GEN}"," ${NS_GTK_GEN}
- fi
-}
-
-################ Development helpers ################
-
-# git pull in all repos parameters are passed to git pull
-ns-pull()
-{
- for REPO in $(echo ${NS_BUILDSYSTEM} ${NS_INTERNAL_LIBS} ${NS_FRONTEND_LIBS} ${NS_TOOLS} ${NS_BROWSER}) ; do
- echo -n " GIT: Pulling ${REPO}: "
- if [ -f "${TARGET_WORKSPACE}/${REPO}/.git/config" ]; then
- (cd ${TARGET_WORKSPACE}/${REPO} && git pull $*; )
- else
- echo "Repository not present"
- fi
- done
-}
-
-# clone all repositories
-ns-clone()
-{
- mkdir -p ${TARGET_WORKSPACE}
- for REPO in $(echo ${NS_BUILDSYSTEM} ${NS_INTERNAL_LIBS} ${NS_FRONTEND_LIBS} ${NS_RISCOS_LIBS} ${NS_TOOLS} ${NS_BROWSER}) ; do
- echo -n " GIT: Cloning ${REPO}: "
- if [ -f ${TARGET_WORKSPACE}/${REPO}/.git/config ]; then
- echo "Repository already present"
- else
- (cd ${TARGET_WORKSPACE} && git clone ${NS_GIT}/${REPO}.git; )
- fi
- done
-
- # put current env.sh in place in workspace
- if [ ! -f "${TARGET_WORKSPACE}/env.sh" -a -f ${TARGET_WORKSPACE}/${NS_BROWSER}/Docs/env.sh ]; then
- cp ${TARGET_WORKSPACE}/${NS_BROWSER}/Docs/env.sh ${TARGET_WORKSPACE}/env.sh
- fi
-}
-
-# issues a make command to all libraries
-ns-make-libs()
-{
- for REPO in $(echo ${NS_BUILDSYSTEM} ${NS_TOOLS}); do
- echo " MAKE: make -C ${REPO} $USE_CPUS $*"
- ${MAKE} -C ${TARGET_WORKSPACE}/${REPO} $USE_CPUS $*
- if [ $? -ne 0 ]; then
- return $?
- fi
- done
-
- for REPO in $(echo ${NS_INTERNAL_LIBS} ${NS_FRONTEND_LIBS}); do
- echo " MAKE: make -C ${REPO} $USE_CPUS $*"
- ${MAKE} -C ${TARGET_WORKSPACE}/${REPO} HOST=${HOST} $USE_CPUS $*
- if [ $? -ne 0 ]; then
- return $?
- fi
- done
-}
-
-# issues a make command for framebuffer libraries
-ns-make-libnsfb()
-{
- echo " MAKE: make -C libnsfb $USE_CPUS $*"
- ${MAKE} -C ${TARGET_WORKSPACE}/libnsfb HOST=${HOST} $USE_CPUS $*
-}
-
-# pulls all repos and makes and installs the libraries and tools
-ns-pull-install()
-{
- ns-pull $*
-
- ns-make-libs install
-}
-
-# Passes appropriate flags to make
-ns-make()
-{
- ${MAKE} $USE_CPUS "$@"
-}
-