Commit ad444736 authored by Seblu's avatar Seblu
Browse files

Patch Makefile to use LLVM

Early makefile patching achieve 2 goals.
Firstly, avoid adding variables to each make call.
Secondly, it is later used by tools (e.g dkms) to build out-of-tree modules.
parent 9d5ff5b9
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -55,6 +55,12 @@ prepare() {
  # because ownership of git files has fakely been changed by fakeroot when
  # called from makepkg
  echo '' > .scmversion

  msg2 'Force use of LLVM in makefile'
  # early makefile patching achieve 2 goals. Firstly, avoid adding variables to
  # each make call. Secondly, it is later used by tools (e.g dkms) to build
  # out-of-tree modules.
  sed -e '7iLLVM = 1' -e '7iLLVM_IAS = 1' -i "Makefile"
}

pkgver() {
@@ -66,13 +72,13 @@ build() {
  cd linux

  msg2 'Make prepare'
  make LLVM=1 LLVM_IAS=1 prepare
  make prepare

  msg2 'Make bzImage'
  make LLVM=1 LLVM_IAS=1 bzImage
  make bzImage

  msg2 'Make modules'
  make LLVM=1 LLVM_IAS=1 modules
  make modules
}

package() {
@@ -131,10 +137,6 @@ install_sources() {
    [[ -e "$i" ]] && install -m644 "$i" "$kernsrc/$i"
  done

  msg2 'Force use of LLVM in makefile'
  # used by to build modules with right compiler (e.g dkms)
  sed -e '7iLLVM = 1' -e '7iLLVM_IAS = 1' -i "$kernsrc/Makefile"

  msg2 'Installing scripts'
  cp -t "$kernsrc" -a scripts

+2 −2
Original line number Diff line number Diff line
@@ -9,11 +9,11 @@ config_equal()
}

if config_equal; then
	(cd "$SRC" && make LLVM=1 LLVM_IAS=1 menuconfig)
	(cd "$SRC" && make menuconfig)
else
	[[ -e "$SRC" ]] && rm -rf "$SRC"
	makepkg --nobuild --force
	(cd "$SRC" && make LLVM=1 LLVM_IAS=1 oldconfig)
	(cd "$SRC" && make oldconfig)
fi

if ! config_equal; then