* 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
* This platform was last mentioned during CM 9 in
android_vendor_qcom_opensource_kernel-tests_mm-audio.
Change-Id: I7e91d17303b74bed3a9c220366868afd8176a7f7
* 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
* Make it consistent with the rest of the targets
Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
Change-Id: I869d3d8570b4deb2f1e019efa975526a528ca3e7
* 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
All references in sm7250 repos point to the correct location
if we simply define QC_OPEN_PATH as vendor/qcom/opensource
Change-Id: Ibb580230212a08c73a251c88630217b192979eb4
* This is originally done in build/make but it checks against aosp_* targets
* Enable it for all of our lineage_* targets
Change-Id: I9fa62c8f709bd649d114f24f241d42d471489ae5
As md5 is not considered as secure since some time, and sha256 is
industry standard, lets switch over here too.
Change-Id: I22015be20126a4348affa5ef97e2c28fbd7b4717
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
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
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
* 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
* 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
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
* 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
Some legacy devices experiences bad lag unless this is disabled.
Disable it with:
TARGET_DISABLE_POSTRENDER_CLEANUP := true
Change-Id: I2b40dc4cbcab06fb293d1f407321af2fae846a51
* 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
* Thermal HAL was converted to HIDL service and .mk to .bp,
devices can override it by using a different named service
Change-Id: Ia3e0d86e791555992e7889f33f7d55f224b9a582
- 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
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
* 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
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
This reverts commit fd27bb4912.
Should have never been added. This time should be done with a prop.
Change-Id: I72a4563834447d4dbeda66dfb232b0541727cb55
* 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
* 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
* AOSP wrapped these around aosp_{arm,arm64,x86,x86_64} checks
thus we need to have them here instead.
Change-Id: Ia3e1e37361330c4b28759f07a3fef6c78565e958
* Android Studio SDK addon is currently broken for generic arm/arm64 targets
and besides it only makes sense for x86 targets
Change-Id: I6832cc99e0dcefb60c9fb187811821ab1b40e7e0
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
* 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>
It was removed accidentally in commit fe00ea9.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: Icadd7b17b3a732fc2c8aa14f1e4dbd4bc66eb7f9
* Remove the separate dtbo.mk task and merge it
in kernel.mk
* Merge in-kernel and separated DTBO image generation
Change-Id: I2cae84095cbd3d68abbe1899a9cae34c8a1e5fc9
* 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
* 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
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
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
* 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
* 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
[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
.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
This fixes parsing when arguments contain colons, a typical usecase
would be:
-vendor/app/TimeService/TimeService.apk;:timeservice_app_cert
Change-Id: I7500ae09632632ddc10734d9b1df267e28286b67
* 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
* 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
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
AOSP pushes RROs to system by default now,
therefore our custom target is not needed anymore.
This reverts commit 546c9a1ec5.
Change-Id: I46753a3b60a89f0198058fbc6d07d3db8a6699b5
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
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
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
* 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
* 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>
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
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
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
* 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
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
* Power HAL is a HIDL HAL now, so you can simply build
a device specific one with a different name
Change-Id: I88b0a71dbcc98cbc8e7b5c284a3956e259d21115
* ./../../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
* 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
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
* This prevents from seeing stuff like
"b'frameworks: Add unlinked ringtone and notification volumes'"
when using python3 as default.
Change-Id: Ie1fa85681b648edcee65680d784da4dff1779616
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
* 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
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
* 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
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
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
* Note: msmnile is treated like msmnile because unlike other Qualcomm
codenames msmnile does not expand to 8150.
Change-Id: If246c0ec06de22097d369c17ce48aa1270bab19c
* 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
* 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
* 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
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