summaryrefslogtreecommitdiff
path: root/00_blog/00018_Building
diff options
context:
space:
mode:
Diffstat (limited to '00_blog/00018_Building')
-rw-r--r--00_blog/00018_Building/00030_The-Hell-of-Autotools/index.md74
-rw-r--r--00_blog/00018_Building/00040_Various-notes-on-Building/index.md93
-rw-r--r--00_blog/00018_Building/index.md3
3 files changed, 0 insertions, 170 deletions
diff --git a/00_blog/00018_Building/00030_The-Hell-of-Autotools/index.md b/00_blog/00018_Building/00030_The-Hell-of-Autotools/index.md
deleted file mode 100644
index 746bd82..0000000
--- a/00_blog/00018_Building/00030_The-Hell-of-Autotools/index.md
+++ /dev/null
@@ -1,74 +0,0 @@
-The Hell of Autotools
-=====================
- March 19, 2018
-In this trivial example we compile a custom **webkit2gtk+ extension** with
-**autotools**. For a start we need to provide two files, `Makefile.am`
-and `configure.ac`, beside our actual `ext.c` source file, which contains
-the extension code itself.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.c .numberLines}
-// File: ext.c //
-
-#include <webkit2/webkit-web-extension.h>
-
-G_MODULE_EXPORT void
-webkit_web_extension_initialize_with_user_data (WebKitWebExtension *extension,
- GVariant *user_data)
-{
- g_print("Hello Extension!\n");
-}
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.makefile .numberLines}
-# File: Makefile.am #
-
-webextension_LTLIBRARIES = libmyappwebextension.la
-webextensiondir = /home/miguel/temp
-
-WEB_EXTENSION_CFLAGS = `pkg-config --cflags webkit2gtk-web-extension-4.0`
-WEB_EXTENSION_LIBS2 = `pkg-config --libs webkit2gtk-web-extension-4.0`
-
-libmyappwebextension_la_SOURCES = ext.c
-libmyappwebextension_la_CFLAGS = $(WEB_EXTENSION_CFLAGS)
-libmyappwebextension_la_LIBADD = $(WEB_EXTENSION_LIBS)
-libmyappwebextension_la_LDFLAGS = -module -avoid-version -no-undefined $(WEB_EXTENSION_LIBS2)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.makefile .numberLines}
-# File: configure.ac #
-
-AC_PREREQ([2.69])
-AC_INIT(ext,0.1,test@example.com)
-AM_INIT_AUTOMAKE
-AC_CONFIG_SRCDIR([ext.c])
-AC_PROG_CC
-LT_INIT
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Put the above files in a new fresh directory and you are ready to see the
-powers of autotools in action.
-
-Run the following commands on your pash prompt:
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.bash}
-touch NEWS README AUTHORS ChangeLog
-aclocal
-autoconf
-automake --add-missing
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-After this steps, we end up with 18 files in our directory. Finally we
-can _configure_, _build_ and _install_ our extension. The following
-commands will probably look familiar. Note that the _configure_ step
-generates 6 additional files, totaling in **24 files** before the actual
-_make_ command is run.
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.bash}
-./configure
-make
-make install
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-... just to compile one **single C file**.
diff --git a/00_blog/00018_Building/00040_Various-notes-on-Building/index.md b/00_blog/00018_Building/00040_Various-notes-on-Building/index.md
deleted file mode 100644
index 0639063..0000000
--- a/00_blog/00018_Building/00040_Various-notes-on-Building/index.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Various Notes on Building
-
-## Webkit
-
-Let’s compile a release with debug info and install to /usr/local
-
-~~~~~~ {.bash}
-wget https://webkitgtk.org/releases/webkitgtk-2.20.0.tar.xz
-tar -xvf webkitgtk-2.20.0.tar.xz
-cd webkitgtk-2.20.0
-# install all the libs that will be reported missing in the next step.
-# I could not find the woff2 stuff in debian so skipped it...
-cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_WOFF2=NO -GNinja
-# this takes about 30minutes on my i7-4790K .. zzzzz..zzz
-ninja
-sudo ninja install
-~~~~~~~~~~~
-
- pkg-config
-
- pkg-config uses our new build now:
-
- [1] https://trac.webkit.org/wiki/BuildingGtk
- [2] https://webkitgtk.org/
-
-## GCC
-
-This is how I build gcc (5.2.0) and binutils (2.25.1). Check [5] first.
-
-* unpack binutils-x.y.z
-* create a new directory binutils-x.y.z-build and inside it run the following commands:
-
-~~~~~~ {.bash}
- $ ../binutils-x.y.z/configure --disable-nls --with-sysroot --enable-targets=all
- $ make -j4
- $ make install
-~~~~~~~~~~~~
-
-* unpack gcc-x.y.z and run the contrib/download_prerequisites script inside.
-* create a new directory: gcc-x.y.z-build and inside it run:
-
-~~~~~~ {.bash}
- $ ../gcc-x.y.z/configure --disable-nls --enable-languages=c,c++ --enable-threads
- $ make -j4
- $ make install
-~~~~~~~~~~~~
-
- REF:
-
- [1] binutils and gcc README files.
- [2] https://gcc.gnu.org/install/
- [3] http://wiki.osdev.org/Building_GCC
- [4] http://stackoverflow.com/questions/1726042/recipe-for-compiling-binutils-gcc-together
- [5] https://gcc.gnu.org/install/prerequisites.html
-
-## Linux
-
- cd linux-source-[xxx]
- make mrproper
- cp someconfig .config -i
- make oldconfig
- make menuconfig
- make localmodconfig
- make localyesconfig
- make
- (OPT) make modules
- su
- make install
- (OPT) make modules_install
- (OPT) update-intiramfs -c -k [kernel-postfix]
-
- (REMOVE UNWANTED FILES FROM BOOT!)
- update-grub
- grub-install /dev/sda
- reboot
-
-
-## Clang
-
- http://llvm.org/releases/3.7.0/docs/CMake.html
- http://clang.llvm.org/get_started.html
- put MAKEFLAGS="-j8" or similar in front of your CMake invocations.
-
- extracted llvm to ~/temp/clang/llvm-3.7.0.src/
- extracted clang to ~/temp/clang/llvm-3.7.0.src/tools/clang/
- extracted compiler-rt to ~/temp/clang/llvm-3.7.0.src/projects/compiler-rt
- extracted libcxx to ~/temp/clang/llvm-3.7.0.src/projects/libcxx
-
- $ cd ~/temp/clang/llvm-3.7.0-build
- $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/miguel/opt/llvm-3.7.0 ../llvm-3.7.0.src
- $ cmake --build .
- $ cmake --build . --target install
-
diff --git a/00_blog/00018_Building/index.md b/00_blog/00018_Building/index.md
deleted file mode 100644
index 1ee18e7..0000000
--- a/00_blog/00018_Building/index.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Building
-
-Some Random Notes about Building Software.