summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Groman <tgroman@nuegia.net>2020-05-09 15:46:26 -0700
committerThomas Groman <tgroman@nuegia.net>2020-05-09 15:46:26 -0700
commit4fbdc2cdabcf3cd2ed7c33731e1d009a8f6f5c64 (patch)
tree868c82fd53a261ad7bc1e446a124797be08b4854
parent12ff2f06ad611371200ae5625319b497a7cbfb13 (diff)
downloadwebbrowser-4fbdc2cdabcf3cd2ed7c33731e1d009a8f6f5c64.tar
webbrowser-4fbdc2cdabcf3cd2ed7c33731e1d009a8f6f5c64.tar.gz
webbrowser-4fbdc2cdabcf3cd2ed7c33731e1d009a8f6f5c64.tar.lz
webbrowser-4fbdc2cdabcf3cd2ed7c33731e1d009a8f6f5c64.tar.xz
webbrowser-4fbdc2cdabcf3cd2ed7c33731e1d009a8f6f5c64.zip
updated build documentation to reflect mach changes
-rw-r--r--BUILD51
-rw-r--r--doc/mozconfig.example60
-rw-r--r--webbrowser/doc/BUILD68
-rw-r--r--webbrowser/doc/mozconfig.example35
4 files changed, 111 insertions, 103 deletions
diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..5d1a8b7
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,51 @@
+1. Install build dependencies
+
+Python 2.7.X
+Autoconf 2.13
+Yasm 1.2.0 or newer
+Perl
+Gnu C Compiler version 4.9.3 or newer (9.X.X reccomended)
+
+2. Install runtime dependencies
+
+libXt
+zip
+freetype
+fontconfig
+glibc
+libffi
+dbus
+dbus-glib
+gtk+2
+alsa-lib
+jack2
+ffmpeg
+
+3. prepare git submodule(s)
+
+$ git submodule init && git submodule update
+
+
+copy Mach build system example config into the root of webbrowser
+as '.mozconfig'
+
+$ cp doc/mozconfig.example .mozconfig
+
+Optionally adjust .mozconfig to better suit your needs.
+
+$ cd ..
+
+4. compile, test, and package Web Browser
+
+./mach build
+
+if this completes successfully you can test your build before packaging it
+
+./mach run
+
+if all is well package it
+
+./mach package
+
+and then install the resulting distrobution tarball on your system.
+the tarball will be stored in the object directory/dist you set in .mozconfig
diff --git a/doc/mozconfig.example b/doc/mozconfig.example
new file mode 100644
index 0000000..adf03a9
--- /dev/null
+++ b/doc/mozconfig.example
@@ -0,0 +1,60 @@
+# Where stuff is on the system
+mk_add_options PYTHON=/usr/bin/python2
+mk_add_options AUTOCONF=/usr/bin/autoconf-2.13
+
+# Clear this if not a 64bit build
+_BUILD_64=1
+
+# Set GTK Version to 2 or 3
+_GTK_VERSION=2
+
+mk_add_options AUTOCLOBBER=1
+mk_add_options MOZ_OBJDIR=/home/$USER/build/wbbuild/
+ac_add_options --enable-application=webbrowser
+ac_add_options --x-libraries=/usr/lib
+
+# Compiler Optimizations
+# Note: add -march=<yourcpufamily> for a CPU optimized build.
+# see https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
+ac_add_options --enable-optimize="-O2 -pipe -ftree-parallelize-loops=4 -lgomp -fopenmp"
+ac_add_options --enable-ccache
+
+# Libraries
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-jemalloc
+ac_add_options --enable-strip
+ac_add_options --enable-devtools
+ac_add_options --with-pthreads
+ac_add_options --enable-hardware-aec-ns
+ac_add_options --enable-bundled-fonts
+
+# Features
+ac_add_options --disable-tests
+ac_add_options --disable-eme
+ac_add_options --disable-parental-controls
+ac_add_options --disable-accessibility
+ac_add_options --disable-gamepad
+ac_add_options --disable-necko-wifi
+ac_add_options --disable-updater
+ac_add_options --disable-sync
+ac_add_options --disable-mozril-geoloc
+# !!!WARNING!!! WebRTC is very complex and leaks your IP when using a VPN.
+# It is disabled by default for this reason, However enabling is required
+# if you want to use wb for web conferencing. I _strongly_ suggest not using
+# a web browser for telecommunication and using something like Mumble or Qtox
+# instead, but if you absolutely need it, here it is.
+ac_add_options --disable-webrtc
+
+# Audio Subsystems
+ac_add_options --disable-pulseaudio
+ac_add_options --enable-alsa
+ac_add_options --enable-jack
+
+# Processor architecure specific build options
+if [ -n "$_BUILD_64" ]; then
+ ac_add_options --x-libraries=/usr/lib64
+else
+ ac_add_options --x-libraries=/usr/lib
+fi
+
+export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION
diff --git a/webbrowser/doc/BUILD b/webbrowser/doc/BUILD
deleted file mode 100644
index 7b5eba8..0000000
--- a/webbrowser/doc/BUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-1. Install build dependencies
-
-Python 2.7.X
-Autoconf 2.13
-Yasm 1.2.0 or newer
-Perl
-Gnu C Compiler version 4.9.3 or newer (9.X.X reccomended)
-
-2. Install runtime dependencies
-
-* Note that to make your life easier, check DEPEND.yourdistrobution for
-commands you can copypaste into your terminal instead of looking of
-looking up package names by hand
-
-libXt
-zip
-freetype
-fontconfig
-glibc
-libffi
-dbus
-dbus-glib
-gtk+2
-alsa-lib
-jack2
-libvpx (1.7.X reccomended. 1.8.X is untested)
-ffmpeg
-
-3. clone and checkout code repositories
-
-clone the Universal XUL Platform codebase somewhere
-
-$ git clone https://github.com/MoonchildProductions/UXP.git
-
-checkout the supported Web Browser supported PM_RELEASE snapshot.
-You can check what is the latest supported release by looking at
-webbrowser/config/version.txt . In this example we will use 2.8.1
-
-$ cd UXP
-$ git checkout PM28.8.2_Release
-
-clone the web browser application repo into the 'application' folder
-
-$ cd application
-$ git clone https://git.nuegia.net/webbrowser.git
-
-copy the example Mach build system config into the root of UXP
-
-$ cp webbrowser/doc/mozconfig.example ../.mozconfig
-
-Optionally adjust .mozconfig to better fit your needs
-then go to the root of UXP
-
-$ cd ..
-
-4. compile, test, and package Web Browser
-
-./mach build
-
-if this completes successfully you can test your build before packaging it
-
-./mach run
-
-if all is well package it
-
-./mach package
-
-and then install the resulting distrobution tarball on your system.
diff --git a/webbrowser/doc/mozconfig.example b/webbrowser/doc/mozconfig.example
deleted file mode 100644
index 360921a..0000000
--- a/webbrowser/doc/mozconfig.example
+++ /dev/null
@@ -1,35 +0,0 @@
-mk_add_options AUTOCLOBBER=1
-mk_add_options MOZ_OBJDIR=/home/$USER/build/wbbuild/
-ac_add_options --enable-application=webbrowser
-ac_add_options --x-libraries=/usr/lib
-
-# Compiler Optimizations
-ac_add_options --enable-optimize="-O2 -pipe"
-ac_add_options --enable-ccache
-
-# Libraries
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-jemalloc
-ac_add_options --enable-strip
-ac_add_options --with-pthreads
-#ac_add_options --with-system-libevent
-ac_add_options --enable-hardware-aec-ns
-ac_add_options --with-system-libvpx
-ac_add_options --enable-bundled-fonts
-
-# Features
-ac_add_options --disable-tests
-ac_add_options --disable-eme
-ac_add_options --disable-parental-controls
-ac_add_options --disable-accessibility
-ac_add_options --disable-gamepad
-ac_add_options --disable-necko-wifi
-ac_add_options --disable-updater
-ac_add_options --disable-sync
-ac_add_options --disable-webrtc
-ac_add_options --disable-mozril-geoloc
-
-# Audio Subsystems
-ac_add_options --disable-pulseaudio
-ac_add_options --enable-alsa
-ac_add_options --enable-jack