Commit graph

665 commits

Author SHA1 Message Date
Alexander Koskovich
6d88852d2e lineage: config: Make LLVM kernel compile the default
* GCC was deprecated awhile ago, the large majority
   of devices should now be using this. Clang should
   be opt out as opposed to opt in.

Change-Id: Ie388aff8eca189663f2f615f7d059e47eaf2dce3
2022-03-10 11:06:43 +01:00
Alexander Koskovich
c5853fe2b8 lineage: build: Drop MSM7K board platforms
* If someone finds a device that uses these platforms
   in 2022, let me know.

Change-Id: I5478d45f40497788d28a4bd04fae7838aae7e116
2022-03-03 17:08:28 +01:00
Alexander Koskovich
4d0c884d23 lineage: build: Drop QSD8K board platform
* This platform was last mentioned during CM 9 in
   android_vendor_qcom_opensource_kernel-tests_mm-audio.

Change-Id: I7e91d17303b74bed3a9c220366868afd8176a7f7
2022-03-03 17:08:28 +01:00
Alexander Koskovich
e12f9f0d97 lineage: build: Drop MTK board platforms
* Remove MTK board platforms, nothing uses this when
   looking for 'MTK_BOARD_PLATFORMS' across the entire
   organization. This lets us revert the utilities back
   to how they were in the QCOM tree.

Change-Id: If3d3a3e7543b79108b26a30c0e02bb3ab154f279
2022-03-03 17:08:28 +01:00
Jarl-Penguin
7adc095f6a kernel: INSTALLED_RECOVERY_KERNEL -> INSTALLED_RECOVERY_KERNEL_TARGET
* Make it consistent with the rest of the targets

Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
Change-Id: I869d3d8570b4deb2f1e019efa975526a528ca3e7
2022-02-20 13:26:31 +01:00
Nolen Johnson
8e215b7200 lineage: products: lineage_x86{,_64}: Don't build kernel
* Results in an error.

Change-Id: Ifab94ca34bab75d8e55b317f69060fc02f068ecf
2022-02-15 19:44:19 +01:00
Nolen Johnson
d8bdaefb4f lineage: products: lineage_x86{,_64}: Don't include SDK addon
* This doesn't work, and just errors out similar to arm/arm64.

Change-Id: I53a2261095f1e2acab3b7da20d3f092ccc83e8ab
2022-02-15 19:41:41 +01:00
Tom Pratt
5a35edd014 Rename automotive emulator targets
Matches the upstream separation of gsi and emulator targets.

Change-Id: I07947727c39b87d2bd1ee6bf2809a7f40ff380ba
2022-02-13 11:03:28 +01:00
Bruno Martins
43c8f40ba9 envsetup: Fix long time broken path to sh
Change-Id: Ia76d14e10571dd6f3ac9f4adf288effae851ffe3
2022-02-08 23:09:21 +01:00
Michael W
a28fa6de34 envsetup: dopush: Correct paths
* In order to automatically restart the system when pushing SystemUI, the
  path must actually be correct
* Since android 10 it's in system/*product*/priv-app and 11 will move
  it again, so just match it anywhere
* Make framework also location independent

Change-Id: I4a9eb1edbbb21ab8abe17815c606921f7a538b7f
2022-02-08 22:59:55 +01:00
TheScarastic
af717a279c soong: Rename fod to udfps
* now flag is changed to TARGET_SURFACEFLINGER_UDFPS_LIB from TARGET_SURFACEFLINGER_FOD_LIB

Change-Id: I499b31d00a053b865ceaa3b34a9762f980bbf14e
2022-01-26 22:56:32 +01:00
Alexander Koskovich
e220ca2625
lineage: tasks: Support copying kernel modules out to /vendor_dlkm.
Change-Id: I84993ba5e0190d310c326da7806e82f627e37a58
2022-01-22 22:39:21 -07:00
Chirayu Desai
d91d695664 kernel: Implement build time LTO choice
Change-Id: I898eb50fadb6bde5beebf46f443c5de7e6acc907
2022-01-13 14:40:31 +01:00
Alessandro Astone
174ee28d0f Revert "Revert "kernel: fix KERNEL_TOOLCHAIN_PATH_gcc and usage""
The fix was correct...

This reverts commit 168fd231b6.

Change-Id: If550fd44f32b801553b8ac23cb2a91d3f29df557
2022-01-06 16:41:05 +01:00
Alessandro Astone
8ace32e27d build: Define QC_OPEN_PATH
All references in sm7250 repos point to the correct location
if we simply define QC_OPEN_PATH as vendor/qcom/opensource

Change-Id: Ibb580230212a08c73a251c88630217b192979eb4
2021-12-10 22:42:52 +01:00
Michael Bestas
a427f43848
build: Enable mainline checking for GSI/emulator targets
* This is originally done in build/make but it checks against aosp_* targets
* Enable it for all of our lineage_* targets

Change-Id: I9fa62c8f709bd649d114f24f241d42d471489ae5
2021-11-28 23:53:13 +02:00
Tom Pratt
33384ced53 Use sdk_{arch}.mk as base for automotive emulator targets
It no longer boots using aosp_{arch}.mk and aosp targets all
use sdk_{arch}.mk now.

Change-Id: I2f6c644353966a58299fbdfa42c7fd3b0d5dea90
2021-11-23 12:53:24 +01:00
Michael Bestas
baab5a81f5
build: Remove legacy GSI targets
* Support for these targets is no longer present in build/make

Change-Id: I2b07ca52c3040f8b1592dd9760ca2357105e082d
2021-11-14 20:20:52 +02:00
SagarMakhar
5a4a0c748e
Rework rule building in lineage_generator
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
Co-authored-by: Arian <arian.kulmer@web.de>
Change-Id: I05c36b8660e51a18ac70a6712b2d03edfc561156
2021-10-15 15:09:42 +02:00
Michael Bestas
253f90404d
build: Add x86/x86_64 emulator targets
Change-Id: Ic8789ad2072b9ebda91f9b4a7c288a5a9bcec3fd
2021-10-12 17:52:12 +03:00
Michael Bestas
c63ee5cc9c
Don't copy privapp-permissions-goldfish.xml for GSI targets
* It is already copied to product partition through AOSP makefiles

Change-Id: I9d877728decc712ce6ae5cc285b1b6a7a4903daf
2021-10-12 17:52:11 +03:00
Michael Bestas
d0b4f9894a
Revert "soong: Export bootloader_message_offset to dependencies"
* Fix build, revert when/if this is needed again.

This reverts commit 1b4ecdcb1c.

Change-Id: I14ec026d8be7297319564340b84ceb164dccfdd5
2021-10-11 23:49:18 +03:00
Michael Bestas
85da432b7b build: Replace obsolete ADDITIONAL_BUILD_PROPERTIES
Fixes:
error: ADDITIONAL_BUILD_PROPERTIES is obsolete.  Please use ADDITIONAL_SYSTEM_PROPERTIES.
Change-Id: I7eb3c47d9fd705aa8f8d39e10563e47ffbf2d560
2021-10-07 19:57:29 +02:00
Julian Veit
cb30d255fb bacon: switch to sha256 checksum
As md5 is not considered as secure since some time, and sha256 is
industry standard, lets switch over here too.

Change-Id: I22015be20126a4348affa5ef97e2c28fbd7b4717
2021-10-07 11:39:17 +02:00
marcost2
fad4142e6e Add support for separate kernels for boot and recovery [1/2]
* Either as prebuilts, or with separate defconfigs

Change-Id: Iad877a5fbef095e3e5d792aebb240c230a829552
2021-09-08 17:16:01 +02:00
Timi Rautamäki
882e97e4ad roomservice: add repo to syncable repo list if dir doesn't exist
breakfast may get stuck if the first breakfast for a target is
interrupted before cloning but after adding repositories to local
manifest. Re-doing breakfast skips syncing the repositories if
they're added to the manifest even if not cloned.

Change-Id: Ifefd08fa6da8785c1d5de0b27ac1a08a782f21d6
2021-07-29 21:14:02 +02:00
Tom Pratt
de83dffc34 Add generic targets for automotive
Makefiles combining core lineage and automotive packages.
Can be included by devices to turn them into Automotive builds.
Emulator targets demonstrate using these makefiles and form a basis for Automotive GSIs.
Change-Id: Ib5d35dfe4de8c459e4e14a7ba6f0b0e682e0d912
2021-07-23 17:57:27 +02:00
Sebastiano Barezzi
4ccc17d333 soong: Add TARGET_CAMERA_BOOTTIME_TIMESTAMP conditional
Change-Id: Ic48acda208fc9990fc5c9159ad06518d48f21477
2021-07-19 11:24:57 +02:00
Tim Schumacher
cec409ecf8 kernel: Fix the check for official builds
The check for official builds now only affects the case where a prebuilt
kernel was actually used, not the case where a device builds a kernel
from source as normal.

The check has also been turned around so that it only fails the build if
it's actually an official build, not an unofficial one.

Change-Id: I1280b16b90589742c2abe7f3f6f5975a3aaeea03
2021-06-27 11:49:48 +02:00
Sebastiano Barezzi
c86a1a8128 kernel: Add TARGET_FORCE_PREBUILT_KERNEL flag
* TARGET_FORCE_PREBUILT_KERNEL should be useful when you don't have ready kernel sources (OEM releasing broken sources or releasing them lately)
* It lets you use kernel sources for userspace generated headers (generated_kernel_headers) while keeping using prebuilt kernel
* Keep in mind that generated kernel headers may not align with the ABI of kernel you're including
* This commit also partially revert commit a836d79, where TARGET_KERNEL_SOURCE would have been unset if TARGET_PREBUILT_KERNEL was defined (we already check in kernel.mk if kernel sources are present anyway)

Change-Id: I84acae890dabb5b9dbd48143ad58f6420c0cef75
2021-06-24 11:50:07 +02:00
Bruno Martins
e741d463e9 Revert "soong: Add TARGET_QTI_USB_SUPPORTS_{AUDIO,DEBUG}_ACCESSORY flags"
This reverts commit ba8e075ed4.
It is no longer necessary.

Change-Id: I5d9656ffb686e939f006d5fb1effaba835f93ed2
2021-06-14 14:48:36 +01:00
LuK1337
cae10f81b0 kernel: Pass absolute path for KCONFIG_ALLCONFIG
It fails to read relative one, at least on QCOM 4.19 kernel base.

Change-Id: Iacbcadfabfcebb80a7f5934825123fdfa913c63c
2021-06-12 21:16:15 +02:00
JamieHoSzeYui
902f4474ba qcom: add lahaina platform
lahaina = Snapdragon 888

Signed-off-by: Aryan Sinha <sinha.aryan03@gmail.com>
Change-Id: Iaad90031451a9d1d3c8cbe8b61c1cf19717df4ee
2021-05-31 22:51:36 +02:00
LuK1337
12d252b8b8 generated_kernel_headers: Also add usr/include/audio to include path
Needed for QGKI 5.4.

Change-Id: I44c77167828fdc3577cfd1eb548c8ceb7c418cbb
2021-05-28 11:08:33 +02:00
LuK1337
8137c7c3bf roomservice: Set exit status if we fail to fetch data from github
Change-Id: I6f69f1df1ba7d28e68c5961b405a54e209643db3
2021-05-10 10:32:45 +02:00
Bruno Martins
9b70f838e9 envsetup: Make dopush() /system_ext aware
Change-Id: Iee4b1fea656f2fd0262cde4f5a634ec95dd6dab8
2021-05-01 11:20:57 +02:00
Dhina17
4280154049 envsetup: replace __detect_shell with basename $SHELL
- __detect_shell is dead long ago.
  $SHELL is a global env var in all shells.

Change-Id: Ie6bd4bbc9d52832a6d42933993c4bc6d0d058633
2021-04-26 20:31:46 +05:30
Dhina17
5c1d8be8c2 envsetup: fix lineagegerrit push for zsh
- fixes:
  error: src refspec HEADefs/for/lineage-18.1 does not match any
  In zsh, :r is a modifier.

Change-Id: Ie6a2a079a96f13c8eb6732a796bab2c2700d7276
2021-04-26 20:30:41 +05:30
LuK1337
3bd9a6607a lineage: Handle build type suffixes properly
This gets rid of grep error code when running breakfast.

Change-Id: I7a8eb86b6068ae1973a96a929129da9eaa84865c
2021-04-13 19:40:01 +02:00
LuK1337
ba8e075ed4 soong: Add TARGET_QTI_USB_SUPPORTS_{AUDIO,DEBUG}_ACCESSORY flags
Change-Id: I18a93fa12bf3d911919a80996d41d52714ee42bf
2021-04-10 18:53:40 +02:00
Nolen Johnson
db313846b1 lineage: targets: x86{,_64}_ab: Don't explicitly include SDK addon
* This resolves some build warnings on these targets, as it's
  being declared elsewhere.

Change-Id: If142b7435d8f4b81f8477516545bb54462518487
2021-03-09 22:17:49 +01:00
Nolen Johnson
52be5fcb10 lineage: targets: Add support for Legacy GSIs
* This is needed for VNDK27, and other older,
  hackier Treble implementations.

* We can't include `legacy_gsi_release.mk` as it's included
  in the `aosp_${ARCH}_ab` targets themselves, unlike the standard
  `aosp_${ARCH}` targets which guard `gsi_release.mk`'s inclusion
   with `aosp_${ARCH}` product guards.

Change-Id: I16c5983c18110b24eef84e382e0ae6852efb03c3
2021-03-09 21:04:44 +01:00
Nolen Johnson
7c428141bc soong: Add TARGET_LEGACY_HW_DISK_ENCRYPTION conditional
Change-Id: I2c67fe632d415353273839493a86cdd75bd93b23
2021-02-22 20:28:23 +01:00
Alessandro Astone
b9aa311d5a kernel: Support pixel style vendor_boot modules
Mini documentation:
List the names of boot modules in BOOT_KERNEL_MODULES to add them
to vendor_boot.

All modules still end up in their primary location (normally
vendor/lib/modules). Boot modules will be kept here as duplicates.

The list of boot modules is then depmod'ed and copied to the
vendor ramdisk.

The file modules.load is created from
BOARD_$(IMAGE)_KERNEL_MODULES_LOAD as the ordered list of modules
to be loaded form that location, either parsed by a modprobe script
or by init itself (only boot modules)
When using vendor_boot modules, vendor/lib/modules/modules.load
should list all modules but boot modules.

Also don't clear the output directory, because one might want to
push a modules.blocklist there.

Change-Id: I89a4aad42a6585a572812f1d7e89f5d78931e1e6
2021-02-17 20:21:04 +01:00
TheMalachite
ec016fd19b qcom: Add bengal platform
Signed-off-by: TheMalachite <eliasgheeraert@gmail.com>
Change-Id: Ia9f602a1d6f109554c6462eaa02214c43b9295dd
2021-02-02 16:47:05 +01:00
Nolen Johnson
c2d63c642e lineage: targets: Add support for ATV GSI builds
Change-Id: I1faf83e21af5db1b29b98af72a4f74666c05f775
2021-01-19 23:15:52 +01:00
Alessandro Astone
9f160e6e5f lineage: Commonize display_intf_headers for QSSI supported platforms
Change-Id: I7224c10295c4123222d81b92f7829502e3cc2d61
2021-01-07 11:21:54 +01:00
Michael Bestas
151e17118c build: Relocate extract utils to tools/extract-utils
Change-Id: I13489b54298ebc2410c38ca9e16aa7121a28f997
2021-01-03 03:33:59 +01:00
Sebastiano Barezzi
85359e5b65
fixup! extract_utils: implement patchelf
* Move $PATCHELF exporting from oat2dex to setup_vendor
* Since it requires $HOST to be set, let's make it global, so oat2dex can also use it

Change-Id: I4556a3c19cd01c9b3a68d358d19a361217d9c3c1
2020-12-23 16:51:06 +01:00
Alessandro Astone
46b6e3a454 extract_utils: generate_prop_list: Ignore vdex/odex files too
Change-Id: Ibe77e8b93466a71d4d0c48ca8f4ff2e00c6e40af
(cherry picked from commit ee669788bc86330215f2444b3beb1f3870329c9e)
2020-12-15 19:22:12 +01:00
Jan Altensen
2855e94574 soong: add TARGET_HAS_MEMFD_BACKPORT conditional
Change-Id: I71b3a86c96bfe53e93e99c071bc8f3a8c56c77b7
2020-12-14 10:28:31 +01:00
Arne Coucheron
ca94a9791c soong: Add flag for disabling postrender cleanup
Some legacy devices experiences bad lag unless this is disabled.

Disable it with:
TARGET_DISABLE_POSTRENDER_CLEANUP := true

Change-Id: I2b40dc4cbcab06fb293d1f407321af2fae846a51
2020-12-03 20:09:54 +01:00
Volodymyr Zhdanov
a039a46b0d extract_utils: implement patchelf
Change-Id: I406f70ef1ce9ec7a0998f77439b7d3fa3ec4e62a
2020-11-26 20:40:02 +01:00
LuK1337
a574c010d2 repopick: Use project revision if available
* Fixes repopicking from repos synced under multiple paths + branches.

Change-Id: Icb165f3d9df67f1b11304e8d7ed955464dcb57bc
2020-11-23 10:55:24 +01:00
Michael Bestas
e26ac59843 kernel: Make system/vendor images depend on modules
* We're having a race with the kernel module build and vendor.img
  generation, and sometimes when vendor.img wins it won't include
  any modules in the image, which leads to all sorts of breakage

Change-Id: I2cdde96530aa8e47351cace76352788cde631058
2020-11-22 23:35:38 +01:00
Michael Bestas
d9dd942eee build: Remove hardware/qcom-caf/thermal pathmap
* Thermal HAL was converted to HIDL service and .mk to .bp,
  devices can override it by using a different named service

Change-Id: Ia3e0d86e791555992e7889f33f7d55f224b9a582
2020-11-22 23:35:38 +01:00
Michael Bestas
571bed5e3f Remove build/core/clear_vars.mk
LOCAL_IGNORE_SUBDIR has been deprecated since 16.0

Change-Id: I3d27034a070977acef32c3b9b654badce1506359
2020-11-13 18:45:04 +01:00
LuK1337
beb10414d2 lineage: Add data-ipa-cfg-mgr to soong namespace in BoardConfigQcom
Before:
  $ breakfast capricorn && m ipacm
  FAILED: ninja: unknown target 'ipacm', did you mean 'lpadd'?

After:
  $ breakfast capricorn && m ipacm
  * happily compiles *

Change-Id: Ib68978d4f287dcdea45fc21382af05b1890caca4
2020-11-01 11:29:01 +01:00
Aayush Gupta
48d0111db6 lineage: Don't enforce specifying image name on prebuilt kernel
- The goal of specifying kernel image name was to whether kernel needs
  appended dtb or not, which is not something required if the kernel is
  prebuilt

Ref:
[0]: Commit edc1cebc2f

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I6b43756a2eac59729a67b5f80dac112f8b6bcc5b
2020-10-28 10:25:37 +01:00
razorloves
23591a8530 Declare vendor/qcom/opensource/data-ipa-cfg-mgr as soong namespace
The mk files in vendor/qcom/opensource/data-ipa-cfg-mgr were
converted to bp, so this is needed to avoid duplicate module
build errors on devices that use a different data-ipa-cfg-mgr hal.

Co-authored-by: Christian Oder <myself5@carbonrom.org>
Change-Id: Ib4d566e43145745afac0259c95c0a563779fa3bd
2020-10-27 13:16:23 +05:30
Aayush Gupta
445136f111 fixup! soong: Add lineage soong config variables
error: system/netd/server/Android.bp:162:1: module "netd" variant "android_arm64_armv8-a_cfi": cppflags: Flag DIGNORES_FTP_PPTP_CONNTRACK_FAILURE must start with -

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I24b89f13425cf586e6ff50d83e71fb1a052bf4ed
2020-10-21 16:29:53 +05:30
Alessandro Astone
1b4ecdcb1c soong: Export bootloader_message_offset to dependencies
Change-Id: I5b81d4a58406b1b521297a217dc33086e70259d0
2020-10-18 20:04:23 +02:00
Pig
a98d12f8e3 soong: Add lineage soong config variables
Ref: https://android.googlesource.com/platform/build/soong/+/refs/tags/android-11.0.0_r4#soong-config-variables

Change-Id: Icaf35b65b63d4245c92e39ce628bb8d6ffd0d4bb
2020-10-16 14:47:33 +01:00
Pig
92388f84ea Revert lineage soong product variables changes
* This reverts commits 7ef0e170 and 4ed4605 and removes relevant flags
   to prepare for using Soong config variables as per Google's docs

Change-Id: Ib6ae5a8a922104d37f8d0e08242b428eb129785c
2020-10-16 12:46:42 +01:00
Bruno Martins
1460ac1c8f Revert "soong_config: Add flag for msm8974 1440p EGL workaround"
This reverts commit f3f7eb2d87.

Support for this in fw/native has been ported in the previous branch
and is very unlikely that will be done or even needed for R.

Change-Id: I9c9709e323d6a27f3c9196887af7ab0ffa1819e9
2020-10-16 09:05:10 +02:00
Bruno Martins
a78e5b2aab Revert "lineage: Add flag for skipping EV_REL input in recovery"
This reverts commit fd27bb4912.
Should have never been added. This time should be done with a prop.

Change-Id: I72a4563834447d4dbeda66dfb232b0541727cb55
2020-10-15 16:13:06 +01:00
Pig
8f6c870ac7 soong: Run bpfix
Change-Id: Id528c99180d34129862c67ef92a00a5ef0fdf61e
2020-10-15 16:01:15 +01:00
LuK1337
abb6597d30 extract_utils: Set filename_from_src: true for CLASS=ETC targets
Change-Id: I881f6a67d84d8de0a4bef17bf3c9eac049679c38
2020-10-06 19:29:53 +02:00
Alessandro Astone
08b2846646 kernel: Import function to install kernel modules from Q
* The new refactored function doesn't work with shell expanded
   variables, like our $$modules.

 * This is the _easy_ fix.
   A proper fix would imply generating the module list into a make variable
   from the shell variable, but with kati that looks unfeasable (to me...)

Change-Id: I8198c62fa93ad94d4b9bf7175fe5eea452c243ea
2020-09-25 21:04:31 +02:00
Bruno Martins
c3ad8b5c54 lineage: Use $(HOST_PREBUILT_TAG) where possible
Change-Id: If211d23ce72b3404368cd723cbb9ea801e61802c
2020-09-24 11:56:08 +01:00
dianlujitao
37e088a2c9 extract_utils: Disable ELF check for shared library
* This is indeed a nice feature, but it's absolutely a bad idea to
   hardcode dependencies of prebuilt modules in proprietary-files.txt.

Change-Id: I8c2d75ff62c0c7862f40e777bcbad4d9cebc074c
2020-09-20 14:56:47 +01:00
LuK1337
22f5c43939 lineage: Switch generic targets to common_full_phone.mk
Change-Id: Ib998fb9a5d604761d0ddf9b2c25cab444c7a5b80
2020-09-18 22:37:47 +02:00
LuK1337
d034c3f7bb lineage: Disable inline kernel building for generic {arm,arm64} targets
Change-Id: I766779a2babc170481174899aaf610cbfeb8d754
2020-09-18 22:37:47 +02:00
LuK1337
41ded0c93e lineage: Manually include gsi_release.mk for generic lineage targets
* AOSP wrapped these around aosp_{arm,arm64,x86,x86_64} checks
  thus we need to have them here instead.

Change-Id: Ia3e1e37361330c4b28759f07a3fef6c78565e958
2020-09-18 22:37:47 +02:00
LuK1337
9b0a82264e lineage: Disable SDK addon for generic arm/arm64 targets
* Android Studio SDK addon is currently broken for generic arm/arm64 targets
  and besides it only makes sense for x86 targets

Change-Id: I6832cc99e0dcefb60c9fb187811821ab1b40e7e0
2020-09-18 22:37:47 +02:00
Alexander Koskovich
411066c311 extract_utils: Fix system_ext framework blueprint generation.
Change-Id: I20e44be6ea48b9bd5b05055d3cf465f63c908463
2020-09-17 10:00:17 +02:00
Jan Altensen
560ac4a965 bacon: switch to toybox md5sum
* fixes "error: MD5SUM is obsolete."

Change-Id: I38e167e24e9eb5596a1e8e2f2d915f648bc1283c
2020-09-15 13:17:38 +02:00
nebrassy
e7501b2499 vendor: BuildOsVariant > BuildOSTarget
Fixes the following build error:

   vendor/lineage/build/soong/generator/generator.go:125:26: ctx.Config().BuildOsVariant undefined (type android.Config has no field or method BuildOsVariant)

Change-Id: I3385941b2931e5be8010d31f80f3aa033d0d3727
2020-09-14 11:18:52 +02:00
Luca Stefani
0409f23119 extract_utils: Add support for system_ext
Change-Id: I0760cdd9bec1a0a0551aa68a60c34f9c00932668
2020-09-09 20:17:37 +02:00
Luca Stefani
e30626da11 Revert "kernel: prevent additional config from being always rebuilt"
This reverts commit 70d5cc42e0.

Reason for revert: Mismatch module/kernel 

Change-Id: I2ae2df476f6cc06c8732336f325822cc2214ef79
2020-09-04 13:31:08 +02:00
Adrian DC
70d5cc42e0 kernel: prevent additional config from being always rebuilt
* A simple "make kernel" or incremental system build
   always triggers a complete kernel recompilation,
   even though the kernel sources were unchanged

 * The reason is because .additional_config is always
   considered new and invalidates the .config file,
   forcing the kernel to rebuild itself every time

 * Instead, prevent the /dev/null and KERNEL_OBJ dependencies
   having irrelevant timestamp changes with an empty variable

 * Command "make kernel" takes 3 seconds versus 40s before

Change-Id: I3b583077b7ef5873eebde3e4b0e790f5d7587ed3
Signed-off-by: Adrian DC <radian.dc@gmail.com>
2020-08-30 17:43:42 +02:00
Aayush Gupta
1de3b3019f vendor: kernel: Add back support for custom dtboimg makefile
It was removed accidentally in commit fe00ea9.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: Icadd7b17b3a732fc2c8aa14f1e4dbd4bc66eb7f9
2020-08-25 14:08:50 +00:00
Weikai Kong
8431a67c0c Revert "kernel: Set full path to DTC"
This reverts commit 5061962d73.

Reason for revert: breaks build with upstreamed dtc >

Change-Id: Idcbb7b95bd54bb6ecfe30f3d55ee90bd57708995
2020-08-25 00:54:30 +02:00
Luca Stefani
05ce3dc8c0 kernel: Add support for mkdtimg cfg_create
Change-Id: If761bb034c175a03a10e5f70753db3a3ded496a8
2020-08-22 20:27:04 +02:00
Luca Stefani
16ea81423c kernel: Switch to mkdtboimg.py
Change-Id: I6f444a3e2265f163e84eaf00d054697dbcf0f803
2020-08-22 20:26:54 +02:00
Luca Stefani
fe00ea90c9 kernel: Rework how DTB/DTBO are built
* Remove the separate dtbo.mk task and merge it
  in kernel.mk
* Merge in-kernel and separated DTBO image generation

Change-Id: I2cae84095cbd3d68abbe1899a9cae34c8a1e5fc9
2020-08-22 20:26:13 +02:00
Chirayu Desai
5061962d73 kernel: Set full path to DTC
* This makes it use the latest source built dtc instead of the prebuilt,
  which is too old for coral/4.14
* Would be best to have it use the in-kernel DTC though,
  as that should always work for that particular kernel.
* When OUT_DIR_COMMON_BASE isn't set, this path is relative (i.e. out/),
  so append $(KERNEL_BUILD_OUT_PREFIX) to account for that.

Change-Id: I6ffe72a2fb061ee81b385f31f4acf682876b27c8
2020-08-16 18:09:30 +02:00
Rashed Abdel-Tawab
e523884e31 kernel: Make dtb.img depend on dtc and dtbo.img on mkdtimg
Change-Id: Id079861b43862881f6a00ec70a585d98d42c4687
2020-08-16 18:09:30 +02:00
Aayush Gupta
d395aa21eb repopick: Address PEP8 warnings regarding indentations and variable naming
- Format variables into snake case
- Add spacing between # and text
- Space after ','
- Test for membership with "not in" instead
- Remove too many empty lines

Ref:
[0]: https://www.python.org/dev/peps/pep-0008/#function-and-variable-names
[1]: https://www.python.org/dev/peps/pep-0008/#block-comments
[2]: http://pep8online.com/

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I16dedf465674056571782921983eb3ec4276a1f8
2020-08-08 21:23:41 +02:00
Aayush Gupta
5fd8e2b1ee repopick: Use empty metavar parameter to fix help's indentation
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I05329c3e5d234846a65f230f69d6b36aa3cc6fa1
2020-08-08 21:23:27 +02:00
Luca Stefani
fb58f7805c kernel: Bail-out if kernel config isn't set
* And remove stale info comment

Change-Id: I0cdd5ff54ed316858045f4c4ada4d78e593667cd
2020-08-06 17:29:39 +02:00
Luca Stefani
4b7a0a0756 kernel: Add support for module aliases
* On devices using vendor_overlay it could be useful
  to be able to re-name the installed modules to
  match the ones in vendor
  -> An example is QCOM techpack where default module
     name in kernel doesn't match installed module
     name

Change-Id: If9458bca06218aeb8c91283057c083d909bf5104
2020-08-06 17:29:39 +02:00
Luca Stefani
edc2e0c2eb kernel: Allow installing modules on vendor_overlay
* This allows to easily overlay kernel vendor modules
  on devices with prebuilt vendor.img

Change-Id: Ie870f0c486043b57e4b8b10696830331540ae010
2020-08-06 17:29:38 +02:00
Aaron Kling
7d6601cf02 repopick: Use upstream instead of revision to determine branch
This is to allow repopick to determine a branch even on a
revision locked manifest. If upstream is not set, it falls
back to revision.

Per the repo manifest documentation:
Attribute upstream: Name of the Git ref in which a sha1 can be
found. Used when syncing a revision locked manifest in -c mode to
avoid having to sync the entire ref space. Project elements not
setting their own upstream will inherit this value.

Change-Id: I12876f7e3b440f9eab6d1b96eba9b18a13cff2e0
2020-07-20 19:23:05 +02:00
Aaron Kling
d97bfec63f repopick: Fallback to name when project path is empty
When a manifest project path and project name is identical, the
repo manifest parser returns None for the project path. Since
both name and path are required, fall back to using name for path
when path is None.

Change-Id: I2fb3cc0cc643808a3049171804742f249d737679
2020-06-28 18:38:47 +02:00
dianlujitao
83d2fa4198 Export CAF msm-4.14 audio headers
Change-Id: Idc7def38ad90abf4a62e30b3cec97bcb76696a6d
2020-06-28 22:16:44 +08:00
LuK1337
b82776e2a4 qcom: Add UM 4.19 platforms
Change-Id: Ida4861b95b0b9748ef3848674b7121010126dd3d
2020-06-25 20:17:38 +02:00
TheHitMan7
eb18aa6af9 qcom: Add atoll platform
Signed-off-by: TheHitMan7 <krtik.vrma@gmail.com>
Change-Id: Idc74d064620649e7423a2fee076da8bd43e1cbd3
2020-06-25 20:16:52 +02:00
TheScarastic
612c5a846e soong: Add flag for fod extension
Change-Id: Ib45706cc50fa88b9b05af1c68eec9d1f08d70569
2020-05-31 16:06:57 +02:00
Sam Mortimer
d3a50ee866 vendor/lineage: emulator should have mobile config
* It's missing launcher and browser (etc) otherwise after:
  8926990865

Change-Id: Ie7c1983eb88c9bf1411c069303e3e55fda150f06
2020-05-29 10:33:19 +02:00
Andreas Schneider
b1d3f65ac2 extract-utils: Fix usage for ETC files which need sub_dir
Thanks to Tad.

Change-Id: I6a0e7978afce6444d0827f97d7686f23aa7500c9
2020-05-25 23:52:52 +02:00
dianlujitao
48917cc909 Export qcom UM hal root to soong
Change-Id: Iabb75e8745dba9069c2eab0d5ef41b2171f4c048
2020-05-25 23:51:08 +02:00
dianlujitao
f646fd7296 Sort soong variables alphabetically
Change-Id: I880b07972fefb7fa2b40ab4aeacd073fb9a942b4
2020-05-25 18:20:26 +08:00
Andreas Schneider
a7e400ceb6 extract_utils: Fix vendor Android.bp creation with subdirectory
error: vendor/samsung/beyond0lte/Android.bp:37:9: unrecognized property "sub_dir"

Change-Id: I23becda0345f41d2cb1462e74b66a787e9ad4c96
2020-05-23 16:00:38 +02:00
Paul Keith
fd27bb4912 lineage: Add flag for skipping EV_REL input in recovery
* Needed now that recovery is in bp

Change-Id: I625ac22e79912cbdea328eba12dc1dd16448e7a8
2020-05-09 11:30:04 -04:00
Kevin F. Haggerty
c756f6051f Add product_launched_with_j{,_mr1,mr2}.mk
Change-Id: Ibb21a4826e6dffe6b9b74898e2bd55b491bb15f7
2020-04-26 15:34:36 +02:00
dianlujitao
ee95f242c8 extract_utils: Handle Brotli compressed block image
Change-Id: I1b3ef34ebba9b43fd684c6abaa1dbc77c8786da7
2020-04-25 16:21:32 +02:00
dianlujitao
fc48634419 extract_utils: Support odm/product/vendor partition for zip extract
Change-Id: Iec06835f1703e276f8882c5ee327ef241a2f8f23
2020-04-25 16:21:32 +02:00
Nolen Johnson
c0b837dbc8 tasks: kernel: Clarify prebuilt kernel deprecation notice
Change-Id: I229029a3b36c5564a445752c6e495817a0969240
2020-04-17 19:27:26 +02:00
Luca Stefani
83dee70c3b kernel: Allow specifying a custom linker binary
* This is needed for using LLVM LLD ( and ThinLTO )

Change-Id: If603274326f0ff22f967455847ffe1c595f04aa5
2020-04-12 21:47:17 +02:00
dianlujitao
0b501d534a extract_utils: Generate deodexed apk/jar with consistent checksum
* zip stores timestamp for all included files. The timestamps of dex
   files are different across different runs, result in inconsistent
   checksum of output apk/jar.
 * Workaround the issue by using fixed timestamp for dex files.

Change-Id: I21f3a7e32cdfdb07c5f5c140df2e797efd4a8005
2020-04-06 13:10:36 +08:00
dianlujitao
db1caf4597 extract_utils: Fix doubled path separator
* $DST_FILE is already prefixed with "/", don't double it.

Change-Id: I2655313abd7720a54b20f541a95960ae9ec373ad
2020-04-06 12:43:17 +08:00
theimpulson
461ebc0b54 soong_config: Add TARGET_IGNORES_FTP_PPTP_CONNTRACK_FAILURE
Signed-off-by: theimpulson <aayushgupta219@gmail.com>
Change-Id: I2c56fd1c09ead3e33fa2f2eb782971bd1dd9d666
2020-03-31 16:29:50 +00:00
dianlujitao
9dfd5f7902 Export techpack/audio uapi headers of msm 4.14 kernel
* With the techpack integration implementation of Google's msm-4.14
   kernel https://bit.ly/2WqiMFx (CAF didn't port this to their kernel
   thus suppose Google's port is the standard one), these headers are
   installed to include/audio/include/uapi.
 * This fixes building audio HAL with 4.14 kernel

Change-Id: I8283699470a7bcb31c771c9aa770a825b4e82519
2020-03-19 19:33:41 +01:00
Luca Stefani
3d5480724f envsetup: s/wait-for-online/wait-for-device-recovery/g
Change-Id: I3fd52aa99d281837fdbdba3b1d268572061a900d
2020-03-13 23:30:39 +01:00
Han Wang
ae82c34dd5 extract_utils: Fix up 4a2b65fb60
Change-Id: I9e5ea799812ca932de95ec6cbdedb604cbde5736
2020-03-10 09:41:34 +02:00
XiNGRZ
4a2b65fb60 extract_utils: Fix bad substitution for zsh
Change-Id: I5f4fabc62b1ac3da159b36c3ae6080e145948530
2020-03-10 07:49:55 +01:00
Alessandro Astone
cdf9ae8532 lineage: modernize functions
[installrecovery]
 * Don't try to mount system

[installboot]
 * Kill kernel module pushing
 * Now we don't need to mount system anymore ^.^

[eat]
 * No need to use /cache/recovery/command when we have
   adb reboot sideload-auto-reboot
 * Make use of our custom adb wait-for-online

[_adb_connected]
 * Could be removed entirely, but for now make it use
   adb wait-for-online

Change-Id: Ife25e63c63c784670c7d330f8a69de01326de1a0
2020-03-05 12:18:40 +01:00
Andreas Schneider
b532825214 dtbo: Sort the files we found
Change-Id: Iece383362d00d600c5861914b9f2600020229d80
2020-02-27 16:13:50 +01:00
Tom Powell
f8adf067fd roomservice: support new manifest formats.
.repo/manifest.xml is no longer a symlink becuase apparently windows
developers need to use repo and windows needs admin for symlinks.

https: //gerrit.googlesource.com/git-repo/+/a269b1cb9dc21dfd598bfea3766206b606ad4589
Change-Id: I88ea0295133959136d7214f13a76b66d89dc88d4
2020-02-25 20:48:12 -08:00
Kshitij Gupta
3795628673 tasks: dtbo: Add support for custom dtbo generation rules
Change-Id: I27fdade5eb177a06795fee7cc19066ec161642d9
2020-02-22 07:55:25 +01:00
Luca Stefani
ed9b10f172 Remove apicheck.mk
* It's currently broken
* Should be converted to soong/metalava

Change-Id: I45f91d20cf797f89e5b1e4730cdafde44128e9a4
2020-01-10 17:13:41 +01:00
dianlujitao
33ee59662f extract_utils: Drop string after semicolon when parsing destination
This fixes parsing when arguments contain colons, a typical usecase
would be:
-vendor/app/TimeService/TimeService.apk;:timeservice_app_cert

Change-Id: I7500ae09632632ddc10734d9b1df267e28286b67
2020-01-10 15:19:47 +01:00
Nolen Johnson
f50d9bc3fa lineage: Deprecate AddonSU
* We are no longer providing our own root access solution
  as of 17.0, as PermissionHub has largely replaced the
  functionallity of Privacy Guard, which this feature
  was housed in.

* We do still have a baked in ADB root solution that can
  be enabled in developer settings (see topic:ten-adbroot
  on Gerrit).

* This DOES NOT mean we will be providing support for other
  root solutions.

Change-Id: Iecf92e3c8f91304ed998e0260d09a8048dc44d82
2020-01-03 16:17:22 +01:00
Roman Birg
d51094ce3b vendor: make dopush recognize files on more partitions
Change-Id: Ied1a243730df1d683fd237f8ea7bd9b1742db105
Signed-off-by: Roman Birg <romanbirg@gmail.com>
2019-12-19 20:45:26 +01:00
Sam Mortimer
c386595e0c vendor/lineage: Fix dopush
* $OUT is now absolute so strip $ANDROID_BUILD_TOP before
  looking for targets to adb push.

Change-Id: If00e58a98484b7b6b2ee6e4ecd00fc3031e1f47b
2019-12-19 20:41:18 +01:00
Volodymyr Zhdanov
27180809c5 build: set build fingerprint for all devices
* there's no per device way to add props to /system/build.prop
* adding it here is the only way so far

Change-Id: Iafc286d9e479677540a4ec617db76715c018ae8e
2019-12-18 20:49:06 +01:00
Michael Bestas
8c49ba97f1 soong: Add AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT
Change-Id: Iac6366d714ab3634def648e6a8c0c30d684a9383
2019-12-09 23:58:27 +01:00
Tim Schumacher
cc6f30cf6b Allow building emulator as an sdk-addon
This can be imported into Android Studio more easily, eventually even
as a repository of LineageOS emulator images.

(Build with `m sdk_addon`, it will end up in out/host/linux-x86/sdk_addon)

Change-Id: Ia78524dd729b0f2ccc96f5a6eb2503cdc8b4d253
2019-12-06 23:51:10 +01:00
Jan Altensen
561f974b1e soong_config: add TARGET_NEEDS_NETD_DIRECT_CONNECT_RULE
Change-Id: I96dd2f7dd629a06de288332e1d00be827029e89c
2019-11-24 19:02:48 -05:00
Bruno Martins
a8f45e9914 Revert "lineage: add BUILD_RRO_SYSTEM_PACKAGE target"
AOSP pushes RROs to system by default now,
therefore our custom target is not needed anymore.

This reverts commit 546c9a1ec5.

Change-Id: I46753a3b60a89f0198058fbc6d07d3db8a6699b5
2019-11-22 17:18:47 +01:00
Simon Shields
d5e35c9dda repopick: fix --check-picked on Python 3
This is very subtly broken: we look for the string 'Change-Id:'
in an array of byte strings. Fix this by decoding the git output
to utf-8 strings.

Change-Id: I708ad0adacb61c89bfba0fd88eeb2e37648317af
2019-11-22 16:48:05 +01:00
Rashed Abdel-Tawab
15d91cd200
kernel: Only build dtb.img if prebuilt DTB directory is not set
If the prebuilt directory is set, then the AOSP commands get activated,
which will conflict with ours, so just disable ours if the prebuilt
directory is set.

Change-Id: Ia998ea3d1a2d3403d0261cecae12d8a5c4f689ec
2019-11-20 15:24:29 -05:00
Bruno Martins
5c9d6c40e3 Revert "vendor: Add qcom platform type to soongs vars"
These vars are no longer useful as of Q because it looks like CAF dropped
their surfaceflinger extensions (ExtSurfaceFlinger).

This reverts commit 97cb87c809.

Change-Id: I09701f6a47830a30486f35052b4ea7ab15a9660b
2019-11-05 11:42:21 +01:00
dianlujitao
119f9d1759 soong_config: Reverse wait for qsee flag
* Disabled by QCOM on P and onwards

Change-Id: I3f27d399293a95ad75446482c8711adf5fed1f78
2019-11-01 21:05:53 +01:00
Michael Bestas
87e7a31bdb Revert "soong_config: Add flag for legacy HW FDE"
* No longer needed with HIDL cryptfs HALs

This reverts commit c61fabe667.

Change-Id: Idea6bbec97af3951a0be2c3df4068cdad7ef8b0a
2019-11-01 21:05:53 +01:00
Adrian DC
045f664a1a repopick: Support project paths detection on different branches
* When some projects are declared in the manifests with specific
    changes (revision="refs/changes/../....../."), the path
    detection does not work, while most cases have a unique paths

 * Allow projects with unique branches to select their paths
    upon repopick with a warning about the selection

Change-Id: Ic873d69f57c78f233db3d0de4ebd529f896799ea
2019-10-30 12:59:48 +01:00
Mohd Faraz
d1d72351b2 extract_utils: Added Suffix uses COMMON_SUFFIX
* COMMON_JAVA_PACKAGE_SUFFIX for jar

 * COMMON_ANDROID_PACKAGE_SUFFIX for apk

Change-Id: I812405dac12ef7183985c66a6e43b0ea5f85989c
Signed-off-by: Mohd Faraz <mohd.faraz.abc@gmail.com>
2019-10-27 11:24:28 +00:00
Rashed Abdel-Tawab
34b5cdc1e3 extract_files: Implement blueprint file generation
Switch to blueprint on:
 - shared objects
 - $partiton/etc/ files
 - JARs
 - executable binaries and scripts
 - APKs

Only /sbin binaries are still in Android.mk because blueprint
doesn't handle sbin installation yet

Change-Id: I1dfd7e8bb575367b2a7fa9e333c4c6fa3aa68180
2019-10-27 11:24:28 +00:00
Rashed Abdel-Tawab
42752d4d4e extract_files: Add initial blueprint creation
Start the copyrights for these at 2019 because the blueprints won't
have existed before then.

Change-Id: I5300109949785dd19555e35d17a1e80daef498b0
2019-10-27 11:24:28 +00:00
Rashed Abdel-Tawab
8aae50df3c extract_files: Match non-treble path prefixes
Some devices put stuff on /system, /system/vendor or even
/system/vendor/odm. Search for these paths too when generating
TARGET_COPY_OUT_$partition variables.

Change-Id: Ie2c087e57aaca02d5ea93f290d5fc50d1315a600
2019-10-27 11:24:28 +00:00
Rashed Abdel-Tawab
8de76b204b extract_files: Support system/ prefixes
With support for 4 independent partitions now, we seriously
need to start putting /system blobs in their own directory.
Add support for file lists with system/ prefixes while
maintaining support for old file lists without it.

Also, TARGET_COPY_OUT_SYSTEM is a thing now, and all devices,
regardless of treble or not, set TARGET_COPY_OUT_$partition
so let's get rid of the treble compat option and default it
to true.

Change-Id: I5b798d293768d7c1e16db3ba01e2de3e083088d7
2019-10-27 11:24:06 +00:00
Dan Pasanen
ac1268953a build: dt_image: use prebuilt lz4 binary for compressing
* Also remove the lz4c fallback. We're providing an lz4
  binary that works, so it shouldn't ever have to fall back
  to lz4c.

Change-Id: I5b1346c55dc97daec13e087c501840628a7265e8
2019-10-26 22:42:20 +02:00
Rashed Abdel-Tawab
d7c6fb7c6a
kernel: Define DTBS_OUT path for dtb.img building
Change-Id: I9fb3943c44c74985d9a4a841338767345a11ded2
2019-10-13 17:00:20 -07:00
Rashed Abdel-Tawab
e3c319a271
kernel: Move our dtb.img logic here
Our build/make changes break incremenetal builds with prebuilt dtb dir
(see discussion here: https://android-review.googlesource.com/c/platform/build/+/1134337/1/core/Makefile )

Instead of using the AOSP recipe, just define our own and use it by not defining
BOARD_PREBUILT_DTBIMAGE_DIR

Change-Id: If579b1670db447557b6f76ca79ecec22661c4080
2019-10-07 14:46:06 -04:00
Rashed Abdel-Tawab
2c247d80d0 kernel: Build dtb.img from compiled dtbs
Change-Id: If419d090740c005357fbd1665f78296d106b4509
2019-10-05 05:32:14 +02:00
Rashed Abdel-Tawab
6f3ded864f kernel: Don't re-define dtbo.img names
These are already set in BoardConfig, no need to set them again

Change-Id: I30eb44f748d0f427145beb5d6cd53ece14281abd
2019-10-05 05:31:58 +02:00
Michael Bestas
b08fa7584b Revert "soong_config: Add flag for devices use metadata as FDE key"
* Qcom reverted the relevant commit in cryptfs_hw

This reverts commit a4d6ce67e7.

Change-Id: Ife1812ebc80946953e3d1a558617c94ddbc7fad4
2019-10-03 16:23:59 +03:00
Michael Bestas
6eaad8d36a build: Remove qcom power HAL pathmap
* Power HAL is a HIDL HAL now, so you can simply build
  a device specific one with a different name

Change-Id: I88b0a71dbcc98cbc8e7b5c284a3956e259d21115
2019-10-03 16:23:59 +03:00
Alessandro Astone
33e7ce832c lineage: allow Has_legacy_camera_hal1 to configure Shared_libs and Overrides
* mediaserver is now bp

Change-Id: I07e42ca605a3677ae431b38b0e68e5248e0a608c
2019-10-02 23:47:02 +02:00
Rashed Abdel-Tawab
3467b7a30a
kernel: Make kernel depend on depmod
After moving modules to this target, we need to depend on depmod

Change-Id: I32ac51173db304cc019e45df006c26a2583b8587
2019-09-30 13:05:42 -04:00
PIPIPIG233666
17d7dcba43
extract_utils: Fix typo
* ./../../xiaomi/sm6150-common/../../../vendor/lineage/build/tools/extract_utils.sh: line 1: /#!/bin/bash: No such file or directory.

Signed-off-by: PIPIPIG233666 <2212848813@qq.com>
Change-Id: I178f745d4ecb818c38706ff100611df19221065d
2019-09-29 12:49:44 -04:00
Bruno Martins
8194b8e583 extract_utils: Source the prebuilts from the new repo
The prebuilt tools now live in prebuilts/tools-lineage.

Change-Id: I4022210c52e1002aae0c6e622a480e5c7e10c366
2019-09-29 03:06:49 +02:00
Bruno Martins
3dff7da473 build/tools: Move prebuilts to the new repository
Going to be imported into prebuilts/tools-lineage.

Change-Id: I81dd06249a8de8f4970be30d75b396c85d4c4fb7
2019-09-29 03:06:49 +02:00
Alessandro Astone
f8f4877abb lineage: env: fixup recovery fstab path
Change-Id: I36860bdee4f9d3c186ca643becb37ad20213628c
2019-09-27 17:05:33 +02:00
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