Commit graph

360 commits

Author SHA1 Message Date
Rashed Abdel-Tawab
08e3a27135
extract_files: Add ODM partition blob support
Change-Id: Id94bbef879b6f4bcc20645c259981f9d163649c9
2019-09-27 06:46:44 -07:00
Michael Bestas
e9731bb5dd build: Don't set pathmap for repositories that do not exist
* Camera, gps and sensors are device specific most of the time
  so we do not sync the generic repositories for these projects

Change-Id: Ibb5d0066e362d285a862ea0c0f2a2c824f84f73d
2019-09-27 15:38:21 +03:00
Michael Bestas
0d941af154 build: Don't set pathmap for AOSP qcom hardware repositories
* No longer needed after I9cf83430ffec4fbd224e724513d371ba8785606d

Change-Id: I594266314e1121ac6f13f9ed79774088667090d4
2019-09-25 21:04:48 +03:00
Rashed Abdel-Tawab
84948089b6 build: Move to new qcom HAL directory layout
All CAF forked HALs now reside in hardware/qcom-caf/

Change-Id: I9f84cebf021418c0b402bc3186f37643e63afb24
2019-09-25 21:03:29 +03:00
Michael Bestas
22fe07435b build: Move hardware/qcom/audio back to its original path
* This is a leftover from the early pathmap changes in cm-12.0

Change-Id: Ie1dc738c65cd7ffbf352eb10271b00da0f5ff393
2019-09-25 21:03:05 +03:00
Michael Bestas
156bdadf9c build: Remove ability to set WLAN/BT_VENDOR variant
* These flags have no users since cm-14.1

Change-Id: Ia2b2fd5d95e856fdae3ec23532bc6eceff2910c6
2019-09-25 20:57:26 +03:00
Rashed Abdel-Tawab
168fd231b6 Revert "kernel: fix KERNEL_TOOLCHAIN_PATH_gcc and usage"
This reverts commit 13f4c837fe.

Reason for revert: reeet. I broke stuff.

Change-Id: If8518aaa409d9afeaf20c689405fd21900fa5e74
2019-09-24 17:22:39 +02:00
Simon Shields
13f4c837fe kernel: fix KERNEL_TOOLCHAIN_PATH_gcc and usage
Previously, this would be a full compile prefix
(e.g. prebuilts/gcc/.../bin/aarch64-linux-gnu-). Since we're adding
this to PATH, it only needs to be prebuilts/gcc/.../bin.

Also remove the extra /bin/ added by kernel.mk.

Change-Id: If2490729128c0243c61de646f6c8e19a15c8dc1c
2019-09-24 17:19:45 +02:00
LuK1337
c62a9fbc31 repopick: Print change subject as unicode
* This prevents from seeing stuff like
  "b'frameworks: Add unlinked ringtone and notification volumes'"
  when using python3 as default.

Change-Id: Ie1fa85681b648edcee65680d784da4dff1779616
2019-09-21 11:48:49 +02:00
Luca Stefani
736f1be2e8 kernel: Fix specifying custom clang compiler version
* Folder layout name changed in Q

Change-Id: I823867334e87fbb3c240a92e62484b6531dfcd22
2019-09-18 16:37:51 +02:00
Tim Schumacher
6ce1be3e15 Add generic lineage targets to lunch choices
Change-Id: I80d77d7cdbdfa156e951003a218ba8a58d51b3d4
2019-09-18 15:33:53 +02:00
Han Wang
45166aaa2e soong_config: Add new flag for vendor_init
Change-Id: I383f1de230ecf7b79d78fe701b140bd1bc6795f2
2019-09-18 11:25:35 +02:00
Stricted
47d713d9fa lineage: soong: replace space with colon on TARGET_LD_SHIM_LIBS
that way we can split the shim list logically into multiple lines like

TARGET_LD_SHIM_LIBS := /system/bin/gpsd|/vendor/lib/libshim_gpsd.so \
    /system/lib/libexynoscamera.so|/vendor/lib/libexynoscamera_shim.so \
    /system/lib/libstagefright.so|/system/lib/libstagefright_shim.so

to not have one single huge line

[lineage-17.0]
this got lost in:
    soong: rework soong_config for Pie
    Change-Id: I3c5001f02975e5487ba66a02217f1d24d2021272

Change-Id: Ice1411ee22b78da1dbf22eac412b9e4978acebdf
2019-09-17 20:55:18 +02:00
dianlujitao
f30ad9eac7 kernel: Fix module installation and clean up
* Fold module installation into kernel image recipe.
 * Specify make argument to strip modules on installation instead of
   explicitly invoking the strip tool.
 * Remove support of TARGET_KERNEL_MODULES, it's a phony target thus
   we're not allowed to depend on it per Android 10 restriction. It
   has been useless for years anyway.
 * Apply minor clean-ups.

Change-Id: I288af1b2f741f524c2ef49554e15cb91c3115209
2019-09-13 08:28:02 +02:00
Rashed Abdel-Tawab
6802b723a9 kernel: Set kernel build outdir prefix for depmod too
I missed these in the absolute path killing

Change-Id: Ibd63c36b9bafe264c7e05672838e5e0186ac5314
2019-09-13 08:27:55 +02:00
Rashed Abdel-Tawab
c648519530 kernel: Add GCC toolchains to the path
Tools like `as` only exist in the GCC toolchain, so we need that

Change-Id: I025d0d9bdf6eda94a538d2d6ddafbecc8830f471
2019-09-13 08:27:49 +02:00
Bruno Martins
9cc0175f16 lineage: Trash the last bits of SDClang support
Change-Id: I9ccb9b931a63342e233578c3ddbc5ea6391af601
2019-09-11 22:08:31 +01:00
Bruno Martins
ae8f482a0c envsetup: Remove call to deprecated function
This allows us to get rid of the following warning when running
`breakfast` command:

add_lunch_combo is obsolete. Use COMMON_LUNCH_CHOICES in your AndroidProducts.mk instead.

Change-Id: I5b05515465d40b9b77f74c69293a1431c5325f5d
2019-09-11 22:08:19 +01:00
Bruno Martins
85471bb4be envsetup: Kill Jack args export
Jack is dead since O.

Change-Id: I46e2102de025cbe141fb08f0edfb7d24ee3b7e91
2019-09-11 21:49:59 +01:00
Sam Mortimer
55d6ec583d vendor/lineage: Support relative OUT_DIR in fixup_common_out_dir
* For use with LINEAGE_FIXUP_COMMON_OUT=1, update
  symlink handling to work with relative OUT_DIR.

* Fixes error:
FAILED: ninja: error: mkdir(out/target/common/obj): No such file or directory

Change-Id: I958be470b4d9ff2074442f210b1a73541e4981c8
2019-09-10 11:59:52 -07:00
razorloves
b5c2c96a56 extract_utils: Support extracting from product partition
Change-Id: I2d0d01253fdf93d63a26556208d45cd69e76329f
(cherry picked from commit ea15be6e92e3be0c103948d220de64fd2e1d781f)
2019-09-10 11:28:05 +02:00
LuK1337
43442c29c7
lineage: Mark generated_kernel_includes as recovery_available
Change-Id: Id4eed981e601244330a8ced1d5433254d808b3fd
2019-09-09 13:05:13 -07:00
Rashed Abdel-Tawab
ba5ea35eb6
kernel: Use absolute path for kernel O= argument
The kernel make command is executed in the build root. Without absolute
out paths, kernel out start with "out/" meaning it would be created in
the kernel source. Add BUILD_ROOT to the argument to ensure it's always
made in the actual out/ dir.

Change-Id: I425134a893d4d5c9f31efccaf75e153b5462b76c
2019-09-09 12:21:35 -07:00
dianlujitao
295ddaa61d
Fix real file depends on PHONY target
Change-Id: Idd42f4575dfd9fbbff9ab15e20e65d932df0390c
2019-09-09 12:20:43 -07:00
Rashed Abdel-Tawab
dfc3d1830d
kernel: Use prebuilt binaries
perl, lz4c, and a bunch of other binaries are not allowed anymore.
So we need to provide our own.

Change-Id: Idbc88b76247b3dda7c5d52e5eed2d548c33f6f2d
2019-09-09 12:19:44 -07:00
Rashed Abdel-Tawab
fb35b9da61
kernel: Use full path to the make command
make is now a dissallowed command so just run the full command

Change-Id: I9390dc5a8bcd17f316354b88bdbc65ac8663b369
2019-09-08 13:41:35 -07:00
Alessandro Astone
b49ab9152b
lineage: soong: _contents -> _json_contents
Change-Id: I2baa36bbb9aff3a7e70a293ed3352fb718eb611c
2019-09-08 13:41:31 -07:00
Sam Mortimer
a97560956e
vendor/lineage: Depend on existing definition of empty
Defined and marked readonly in build/make here:
7ddc50a066/common/core.mk (L46)

Change-Id: Ic233f0d41d03b28beb8d96c68692271d959fa188
2019-09-07 14:44:10 -07:00
Rashed Abdel-Tawab
aca09b2a8b lineage: Add goldfish privapp whitelist and move to common lineage makefile
Lineage GSIs now work.

Test: lunch lineage_arm64-eng; m -j systemimage
Change-Id: I416b184b4f601f12871f7c4da0181b189d91a21b
2019-09-07 23:39:27 +02:00
Paul Keith
17da6ad0bb Revert "vendor/lineage: Add support for java source overlays"
This reverts commit af96975506.

Change-Id: I837a5a8e8523e9e9959abe83dabcc333e87eac17
2019-09-06 00:38:06 +02:00
Rashed Abdel-Tawab
3254cafe49
kernel: Add TARGET_KERNEL_ADDITIONAL_FLAGS to allow setting extra cflags
Also fix KERNEL_MAKE_FLAGS not being used by the kernel make command

Change-Id: I8786d6c1de6652f87a02c990c4b56f62b0cc0203
2019-09-01 17:45:00 -07:00
jhenrique09
97cb87c809 vendor: Add qcom platform type to soongs vars
Required for new commits on frameworks/native

* Fix lag during screen recording on some platforms
* Fix screen flickering after disconnecting from Android Auto on some platforms

Change-Id: Ia0ed0bbfda44fb5ccb184ace854ec1bf9a7d819a
2019-08-11 12:01:44 +02:00
Rashed Abdel-Tawab
2e39f356ac lineage: Make a lineage_x86_64 target
* For addonsu.

Change-Id: Ic4c701cdfe1126870258182df631192e06527fe5
2019-08-01 19:50:59 +02:00
Rashed Abdel-Tawab
05aded86f3 qcom: Add UM 4.14 platforms
* Note: msmnile is treated like msmnile because unlike other Qualcomm
  codenames msmnile does not expand to 8150.

Change-Id: If246c0ec06de22097d369c17ce48aa1270bab19c
2019-07-20 08:36:55 +02:00
LuK1337
6047f5a0c5 kernel: Consider depmod version when handling kernel modules
* This fixes dirty boot image rebuilding on devices
  with CONFIG_LOCALVERSION_AUTO=y and any driver
  set to =m.
* Basically appending `cat include/config/kernel.release`
  to modules path makes sure that our find does not
  return old modules which would make cp fail with
  'cp: will not overwrite just-created' message.

Change-Id: Ifb79d33b95d7671d8b2d6633644c8b8290d1f442
2019-07-19 21:49:04 +02:00
Rashed Abdel-Tawab
19c36cd7a6 extract_utils: Support multidex
Co-authored-by: Erfan Abdi <erfangplus@gmail.com>
Change-Id: I4881658d303b6c5c7f0b141beb50c1e9100af611
2019-07-18 07:31:36 +02:00
Isaac Chen
60912cff97 build: Support SDM710 platform
Change-Id: I958a6bfd1087f5437f4074e614198bb622d476ce
Signed-off-by: Isaac Chen <isaacchen@isaacchen.cn>
2019-06-27 20:00:28 +01:00
Rashed Abdel-Tawab
1c29c373dd extract_utils: Add functions to extract vendor blobs from vendor.img
Change-Id: I6f37adc955856fa78e719eb30249800abe80020c
2019-06-26 04:37:44 +02:00
Ethan Chen
a7b2d0a620 build: Separate platform macros from QCOM platform definition
* The macros used in the file formerly called "qcom_utils.mk" are
  actually generic and not QCOM-specific. Move the QCOM_BOARD definitions
  to a QCOM-specific location, and name the remaning macros something more
  generic.

Change-Id: I6747bc9201e56b456caf251122057d7dbc233f1c
2019-06-26 01:11:42 +02:00
Ethan Chen
66ce59c88e build: Reorganize inclusion of QCOM macros
* There's actually not a whole lot QC-specific about these macros,
  make them available at definition.mk inclusion time rather than
  relying on BoardConfig to include them.
* Don't create a dependency on QCOM macros from a makefile
  that is included very early in the build process.

Change-Id: I3dcaf0e068ca44732cfe58f69384621781ddda67
2019-06-26 01:10:51 +02:00
Ethan Chen
123fcd3761 build: Remove unused script
* http_prebuilt.mk appears to be long gone.

Change-Id: I8ca584fc1e468bb47164984bb363f0cf29750e68
2019-06-25 23:13:21 +02:00
Ethan Chen
5512b647e0 build: Set mode for makefiles
* These shouldn't be executable.

Change-Id: Idcb4e46f0ac69116b4837cd31f9f2e506b41a3f2
2019-06-25 23:13:21 +02:00
Erfan Abdi
a4d6ce67e7 soong_config: Add flag for devices use metadata as FDE key
Change-Id: I5f70280e72613a8f850cb3263c45e95e80cb8b3c
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2019-06-16 12:47:01 +02:00
Luca Weiss
5ee35ea356 repopick: cmp() is not available in Python 3, define it manually
Change-Id: I16a89aa555e62f105d888e87cb43afd26606076b
2019-06-08 00:01:05 +02:00
Rashed Abdel-Tawab
60fe93525a lineage: Rework DTBO image generation
Currently we handle the DTBO images from start to finish, including
AVB footers, and just drop them in $(PRODUCT_OUT)/dtbo.img when done.
While this works for the most part, we are limited in what we can do
with the DTBO images. For example non-A/B device recovery images must
have a copy of the DTBO image appended to recovery (see AOSP docs:
https://source.android.com/devices/bootloader/recovery-image ). This
means that we need to pass the pre-AVB dtbo image into
BOARD_PREBUILT_DTBOIMAGE in order to let the AOSP build system handle it.

This commit reworks the way the DTBO images are built, placing them at
$(PRODUCT_OUT)/dtbo-pre.img instead and setting BOARD_PREBUILT_DTBOIMAGE
to that path so the AOSP build system can pick the images up and sign
them and append to recovery (for applicable devices).

Change-Id: I8819d7cd92ba298de67dbc7f6b321917ba8524f1
2019-06-06 07:17:27 +02:00
Thor Lee
75975892b4 kernel: Fix modules path generated in modules.dep
This patch fixes the error generated path of modules in modules.dep.

Tested on Redmi Note 5(whyred).

Before:
/vendorlib/modules/test-iosched.ko:
/vendorlib/modules/mpq-adapter.ko:
/vendorlib/modules/ufs_test.ko: /vendorlib/modules/test-iosched.ko
/vendorlib/modules/rdbg.ko:
/vendorlib/modules/br_netfilter.ko:
/vendorlib/modules/gspca_main.ko:
/vendorlib/modules/mpq-dmx-hw-plugin.ko: /vendorlib/modules/mpq-adapter.ko

After:
/vendor/lib/modules/test-iosched.ko:
/vendor/lib/modules/mpq-adapter.ko:
/vendor/lib/modules/ufs_test.ko: /vendor/lib/modules/test-iosched.ko
/vendor/lib/modules/rdbg.ko:
/vendor/lib/modules/br_netfilter.ko:
/vendor/lib/modules/gspca_main.ko:
/vendor/lib/modules/mpq-dmx-hw-plugin.ko: /vendor/lib/modules/mpq-adapter.ko

Change-Id: I84d51f4c418fda0d99890db0fd5d976c42f54295
2019-05-02 10:00:49 +02:00
Ethan Chen
9985f596b3 kernel: Use build-image-kernel-modules instead of copying it
* Call the build system's build-image-kernel-modules function instead of
  redefining all of it inline ourselves.

Change-Id: Ifc4bd3c452393389a14174f4cc29a8f7ef064b93
2019-03-09 13:41:19 -08:00
Ethan Chen
a325446555 kernel: Use a macro for kernel build targets
Change-Id: Idb61ddbfd630401da09a0c3207aaab7e25bc4b14
2019-03-09 13:41:19 -08:00
Ethan Chen
0724f78af4 kernel: Detect kernel module usage better
* Check for any actual kernel modules, rather than just the presence of
  kernel modules being enabled as a kernel feature.

Change-Id: I6b7e82d5c59dd57621d9f9e2d1fd606997790d1c
2019-03-09 13:41:19 -08:00
Ethan Chen
a8750b4a6e kernel: Move kernel module dir cleanup/creation to module install target
* The directories used by the kernel module install rules are performed
  as part of the rules in the kernel build itself. This is likely a
  leftover from before kernel module install was separated.

Change-Id: Iee2f73a0f8e0f274b1c2931ba57277ff14d7f5cc
2019-03-09 13:41:19 -08:00