If LOCAL_SDCLANG_2 is set to true, the secondary SDLLVM toolchain
(SDCLANG_PATH_2) will be used instead.
Change-Id: Icb7492562aeaa3c584edcbced8fe1e98776774bd
* hardware/ril is a required project for any build.
Move the path mapping logic to core/config.mk so
any build has access to the correct default mapping.
Change-Id: Ia52919d7877ddc91f8a4a988fd0858d14837fc4c
* Oreo expects VNDK compatible files to be listed as LOCAL_VENDOR_FILE,
not LOCAL_PROPRIETARY_FILE.
Change-Id: Ia2384c4f3ab3a99b79df52c796c53dc25a0f4a88
* When using "?=", expansion doesn't happen right away, so the ccache
variable is sanitized before KERNEL_CC gets expanded and no ccache
is ever used for clang builds.
* With ":=", expansion happens immediately. So let's manually check
if KERNEL_CC is already set somewhere else to determine whether or
not we should set it ourselves using ":=".
Change-Id: I8a61767606a4f3d4c6ba88c68b10fd2e11783406
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
Change-Id: Ice1411ee22b78da1dbf22eac412b9e4978acebdf
* To limit security exposure, we're forcing all devices
to define shim libs with a TARGET_LD_SHIM_LIBS
Change-Id: Ic8722c42807429f2faa3546316c71c40533ce195
* Fix makefile generation for packages that have set
a different target destination
* Thanks to rashed and javelinanddart for their help
in debugging and solving this issue.
Change-Id: I1f5a1abd6929e4a7e0ccd6370d3a3dd986f94fed
The existing kernel header logic has several issues:
* It does not depend on the actual kernel headers, so it does not
detect actual kernel header changes.
* It does depend on the kernel config, which should not be used to
generate (user space) kernel headers.
The end result is that kernel headers aren't properly regenerated when
needed, and spuriously regenerated when not needed. Additionally, the
kernel header rebuild mucks around with the kernel config, which is
unneccesary and fraught with danger.
Rewrite the kernel header dependency and generation logic as follows:
* Use the dependency file $(KERNEL_OUT)/.headers_install_deps to
manage dependencies on the actual kernel header files which are
exported to user space (and the top level kernel Makefile, which
is used to generate version.h). The dependency file is exactly
the same as what GCC would output for a C/C++ dependency with the
M/MM flags.
* Conditionally include the dependency file to detect when headers
should be (re)generated.
* Introduce the phony target INSTALLED_KERNEL_HEADERS for modules to
declare a dependency on kernel headers.
Additionally:
* Get rid of TARGET_KERNEL_HEADER_ARCH and KERNEL_HEADER_DEFCONFIG.
* Get rid of KERNEL_OUT_STAMP and move commands to the appropriate
places in the rules.
* Fail the build when $(KERNEL_OUT)/usr is mentioned in a dependency.
Note a separate commit to build/core/binary.mk will provide a
migration path and a suitable deprecation warning.
* Declare the kernel*config targets phony.
Change-Id: I8b46f4ea1c622d8e73cca5157be96ec09d42ebb3
taimen uses the dtbo.img as an DTB Overlay in order to use the same defconfig for both, taimen and wahoo.
The dtbo.img is built with "make dtbo.img". Allow automatically building it when setting TARGET_NEEDS_DTBOIMAGE to true, or by manually calling make dtboimage.
Thanks to luca020400 for help with the kernel.mk logic
[raymanfx] Add AVB hash footer support
Change-Id: Iaddafaa98e3e84880462a2c35b899e3fea21e161
While UM platform HALs are interchangable and very much interoperable
between platforms and kernels, some have qualms about commonizing
platforms that Qualcomm hasn't fully commonized themselves yet. Therefore
introduce 2 seperate UM platforms, UM3.18 and UM4.4 (corresponding to
the kernel version used for that "version" of UM) and use msm8996 for
UM3.18 and msm8998 for UM4.4 (sdm845 will probably be UM4.9).
Also disable TARGET_USES_QCOM_BSP on the UM platforms to match Qualcomm
trees as it causes WiFi display not to work and calls for missing headers
and struct elements at build time.
Change-Id: Ia574231243b7d628d35959b474dd28bd37ac4031
* Use msm8996 HAL for 8953 & 8937 since they share the exact same
git history sha1 in all 7.0+ released tags.
Change-Id: I764a9a092b6d530de8a9b9e6e54f41c0b5d8a593
Add support for compiling kernels with Clang as intoduced on android-4.4
In order to compile with clang, you must set TARGET_KERNEL_CLANG_COMPILE.
If you wish to specify a specific clang version, also set TARGET_KERNEL_CLANG_VERSION,
but if that is not set, the build system will default to the latest version of clang
available in prebuilts/clang
Change-Id: I79dc1dca9758a930f2f5ba1754b5d8de114af900
Signed-off-by: Joe Maples <joe@frap129.org>
Place kernel module output in the correct location.
Perform depmod steps (copied from build-image-kernel-modules function in
build/make/core/Makefile).
See: https://source.android.com/devices/architecture/kernel/modular-kernels
Change-Id: I6e70012a5c1acdb276f9bee0d57631d2805f71ea
* Some devices need this function to return something, yet also do not
set BOARD_USES_QCOM_HARDWARE. Allow them to override this.
Change-Id: I3cf78da39b006ba805ae35fde7379357faa10250
(cherry picked from commit 012cc275e09346ef7909b6a5a144aed59b375ccd)
CAF doesn't use qcom/opensource in their paths, so automatically adjust
the project path for this when using cafremote
Change-Id: I6252fbd1c3e8a545c0d54eefb6b730b893821574
* Use requests if installed. If not fall back to urllib. This is
done because users may or may not have requests installed and
requiring them to do so for simple http stuff isn't really
reasonable.
* If requests is installed and a .gerritrc file exists in the
user's HOME directory, try to get credentials out of it
for the given gerrit instance. If auth for the correct gerrit
instance exists, use it to auth to gerrit. If no .gerritrc
exists, just use requests with no auth.
Example ~/.gerritrc entry:
review.lineageos.org|invisiblek|httppasswordhere
Change-Id: I95be26d51bfd31b53f3613e8dbfb7bba46324571
* Previously, you could just specify a SRC directly
after './extract-files', and it would work, but
now, the arg '-p/--path' is required for the same
behavior to be applied for the extraction
* Add a catch-all case that just sets SRC if the arg
doesn't match any of the args that we care about
* Make the ordering of the cases alphabetical
Change-Id: Ia2ad42d444904ead6b3bd6d910af363eb7f015cc
The existing kernel module logic does not detect failed kernel module
builds. This is because the module build logic is a long shell chain
that invokes make macros which are not intended to be used in this way.
The essense of the issue is that we get a shell chain that looks like:
cmd && cmd && var=value; cmd && var=value; cmd;
The shell breaks this into three separate commands. The first builds
the modules. The other two are the macro invocations. So the result
of the command is the result of the last macro invocation, which will
always succeed even if the modules fail to build.
The issue is made worse by the existing build rule conflating the built
kernel modules and the installed kernel modules.
Fix this by reducing the built kernel module command to a single shell
command and creating a separate target INSTALLED_KERNEL_MODULES. Any
kernel module build failure will show up properly. The commands for
INSTALLED_KERNEL_MODULES do not invoke any macros and should avoid the
issue described above.
Finally, this also removes the fake target no-external-modules and
unifies the install logic for in-tree and out-of-tree modules.
Change-Id: I3d13056e217e1e937c8c3a345032682ffc394bca
Skip the extraction of pinned files if the ones currently available
have the expected sha1. If we don't, we will overwrite pinned files
with potentially incorrect files when the current vendor files are
not moved to a temporary directory (i.e. when not cleaning vendor).
Change-Id: I640d6bf2ed98eb366a4df17f0ebeaec81cb5274b
* WARNING: this intentionally breaks the build on devices who
are not setting BOARD_KERNEL_IMAGE_NAME and are still setting
TARGET_USES_UNCOMPRESSED_KERNEL or TARGET_KERNEL_APPEND_DTB
* The logic here is insanity and if all of this can be done
by simply setting BOARD_KERNEL_IMAGE_NAME, why have all this
extra cruft?
* Use cases:
- Set a kernel image name without "-dtb" on the end, you get a kernel.
Nothing more.
- Set a kernel image name with "-dtb" on the end, you get an kernel
with an appended dt.
- Set a kernel image name without "-dtb" on the end, and set
BOARD_KERNEL_SEPARATED_DT. You get a kernel and a separated dt.img.
- Set a kernel image name with "-dtb" on the end, and set
BOARD_KERNEL_SEPARATED_DT. You're crazy.
Change-Id: I5c3fc6eb727255684278ff562c0ee3faa7124b6b
We want to cleanup our temporary files independently on the signal,
so just execute a trap on 0. This will ensure temporary files are
always removed and doesn't require any extra care when trapping
signals such as SIGINT that require an explicit exit call.
Change-Id: Ieff4f15c44a9ac9d5a543d14c140ebd72c0e7344
To be honest, this name is a little misleading, this is how it should
have been done in the first place. This allows devices to copy vendor
files to the proper location depending on TARGET_COPY_OUT_VENDOR rather
than hardcoding system/vendor. This allows devices with dedicated vendor
partitions to copy directly to vendor. The only reason it's optional
is that some nexi set TARGET_COPY_OUT_VENDOR to system which would cause
some weird breakage.
Change-Id: Ic46bc1086737835340abef9f61693d386bc6a5dc
* Make a tempdir using the mktemp command rather than just making a
dir in /tmp to accomodate for systems that don't set proper perms
or dont have /tmp
* Fix the deodex procedure to pull files from the right path
Change-Id: I181863599b6670e3a149069dbb7b13ebf73bae8e
Oreo introduces new optimized dex files (or vdex). While smali/baksmali
have supported vdex since 2.2.1, you actually have to have the .vdex in
the same location as the .oat or else the smali will fail due to not
finding the .vdex. Copy it (if it exists) and echo a warning since vdex
deodexing is still experimental.
Change-Id: Ic612751be45a8b6e54b8794b426a4d5adbbf13d2
* Certain order of running these commands on different repos can
end up producing broken remotes, because the variables are
exported globally (looking at you PFX)
Change-Id: I0b679f04264d964ed9a0f0d1adfdbaeac9403ec8
* lineageremote was not working properly for pure AOSP projects
because there is no github remote.
* Read and convert AOSP remote name if there is no github remote
Change-Id: I629f0a8ae3be09d539e18d63a9738c32fb24496c
* ZSH errors out when it doesn't find anything in $OUT/system/lib/modules/.
* So add a check to avoid error while using installboot() with a target
that doesn't have modules enabled.
Change-Id: Ibe66f6962943e9b90c7059a4c9b4ded558318326
* This was always the default behaviour and doesn't require
any additional argument in order to make use of pinning feature
(pinned blobs are only considered when vendor folder is removed)
Change-Id: I34ff7678bd6800a2c593e9fe128cc151c59967da
Currently, using project-set-path is blocking us from overriding the pathmap
for the audio, display, and media HALs, so set them with set-device-specific-path
to allow overriding the HALs with USE_DEVICE_SPECIFIC_* and DEVICE_SPECIFIC_*_PATH
Change-Id: Iee3723cf251d0f485a77a17fd61cb62178833582
* Allows extracting only a specific section from proprietary-files.txt
* Defaults to not cleaning vendor folder before extraction
* Adds script options rather than depending on apredefined order
Change-Id: I74cd3bf4a1f652232c97c78d6164f0730599c1a7
Sometime blob directories are contained in dirs not named system
(ex. extracting blobs from another vendor dir) so check if the file
exists without system/ before appending "system/" to filenames.
Change-Id: I4ba946e178260b4f4804b1ac4422645e3085c665
Sometimes the need arises to update one specific subset of blobs
while holding others steady. Introduce a way to specify the "section"
of blobs to update (obviously requires the proprietary-files to be
properly split up first)
Requires additional changes in device tree extract_files.sh to support
passing the additional arguments
Change-Id: I98feab56f8bfade2818b1b5264e019440d4c57c5
In case of conflict, reset to initial state by aborting the cherry-pick,
leaving the working directory clean
Change-Id: I2353b92254b67ea49835bc88b6fc9bc3910b5107
* Add a build target to simply regenerate the kernel
minimal defconfig and copy it to the kernel source
Change-Id: I04be945eb6dae3042c236785328c7c9995d42e49
* When using an ssh gerrit instance (-g) it is perfectly
reasonable to pick a draft commit. Don't require force
picking (-f) in order to do so.
Change-Id: I420f566ee1bb1f0b0d2a2ef29d95e0545db70b89
Currently, in the display HAL, we're replacing the usage
of this variable with a check for TARGET_BOARD_PLATFORM.
Instead of having to do that every time a new branch is made,
define the variable in qcom_target.
Change-Id: Iddcc38c70adc52267e70c985b7a0ad3d8c4c8929
When a line from the XML file contains a character which grep classifies
as a binary one, it will omit this line at all. Moreover it will append
'Binary file matches' to the stdout. This behavior breaks some XML files.
To fix this issue, let's tell grep to process a binary file as if it were
text.
Change-Id: I6ec5689f73a0926870e502f3f8ee77346b47d05f
Run 'make addonsu' to make a flashable zip to install the addon and
'make addonsu-remove' for a flashable zip that removes it.
Change-Id: I5b2fe67f98f2474b923c074dc6025b47c6db2ae0
Commit 7fb9251dfc modified
the expansion in an illegal way.
Fix the broken env variable.
Change-Id: Ib3029fa995d6a4b0416887a2ef2e4792c9e6bb27
(cherry picked from commit 90b437e784c19fc428c24891cc96705b89b786df)
The easiest and best way to get openssl on darwin is using homebrew,
however homebrew refuses to link openssl (and for good reason) in
order to prevent conflicts with Apple's homegrown version. Include
the openssl headers and dylibs from the dir that homebrew installs
openssl to let 4.4 kernels compile.
Change-Id: I06b66768fbdd4855fd57b88100d646ed6e311a59
This change correctly handles devices with underscores in their
name even if there is a device with the same name after the last
underscore (spyder, umts_spyder) by not allowing any underscores
in the manufacturers name.
Without this change, spyder gets resolved to:
device/motorola_umts/spyder
device/motorola/spyder
Only the last one is valid.
With this change, both spyder and umts_spyder get resolved correctly.
Change-Id: I0c95ff126d827a2d6b58875dfcb9327e999f4913
* Specify the ota zip name as the only parameter to extract-files.sh
* Will extract to $CM_ROOT/system_dump
* Bail out on A/B OTA zips. We cannot support these.
* Handles block based OTA zips by using sdat2img.py
* Store the zip's MD5 and check if its already extracted. If so, don't
bother extracting again
Change-Id: I03038e38dac51e6cb60d493c7e6362754d1daf02
* Fixes errors like UnicodeEncodeError: 'ascii' codec can't encode
character u'\xb0' in position 51: ordinal not in range(128) with weird
characters in a commit message
Change-Id: I700198481630b4b29fd6d5d1f0c79bb94e59ad86
* On some machines, LC_ALL=C is set, causing the sort
order of makefiles to be different than those without
this locale change that is set
* Set LC_ALL=C on all machines for consistent ordering
* From 'man sort':
The locale specified by the environment affects sort order.
Set LC_ALL=C to get the traditional sort order that uses native byte values.
* Thanks to haggertk and rashed for verifying this for me
Change-Id: I5bbb94b0dfe599a67036de4312e8af913e9b8d30
Signed-off-by: Paul Keith <javelinanddart@aidenswann.com>
Currently, the priority of the src and dest is inverted between
pulling from adb and pulling from a system dump.
Assume that we have a camera wrapper and write the proprietary-files.txt
lib/hw/camera.msm8996.so:lib/hw/camera.vendor.msm8996.so
If we pull from a phone running Lineage that has both files, we get
camera.vendor.msm8996.so
as the pulled blob. If we take the exact same build and pull it
from the system dump (aka, your own $OUT directory that built the
installed software) you get
camera.msm8996.so
pull instead!
Make both paths follow the same logic so that you get the same
file independent of the source.
Change-Id: I479e0ae765339cc38fa05fcaad7943c528129463
grep should be given the filename directly instead of using cat
to pass the file contents.
Change-Id: Ic5275ac0f057f3d134fe57f43672a73fa7e3d7de
Signed-off-by: frk <frk@haze-productions.com>
* Gotta save that space somehow. This is in the continuing
effort to remove custom mkbootimg.mk files in device trees
Change-Id: Ie8b3cedf6e37d1d11c2383dd3590f9908ad7818c
The current check only checks for Linux, but many of us
use GNU sed on darwin as well, which means the non-Linux
command will fail, so read the sed version and use the GNU
command if GNU is found in the version string.
Change-Id: I7eefd0309751b069eef5e5e2b907d3d4f38f1638
Currently devices that have TARGET_KERNEL_APPEND_DTB set also have to set
BOARD_KERNEL_IMAGE_NAME to Image.gz-dtb (or zImage-dtb on arm32) in order
to properly build the image with an appended DT. Automatially append -dtb
if TARGET_KERNEL_APPEND_DTB is set so BOARD_KERNEL_IMAGE_NAME does not need
to be set.
Change-Id: I5464c67092a7b9f86669902e5c0e4a47836f7cbd
* Avoids:
Cleaning output directory (./../../../vendor/.../.../proprietary)..
mv: cannot stat './../../../vendor/.../.../proprietary/*':
No such file or directory
Change-Id: I3258e64f3997f139d8db4fb4e07d14964a469c78
* BOARD_USES_UBOOT is unused.
* Same goes for BOARD_USES_UNCOMPRESSED_BOOT. Furthermore,
it is superseded by TARGET_USES_UNCOMPRESSED_KERNEL.
Change-Id: I9f0e2848fcd0cd212bccacf14df55ad03f821051
With androidkernel (androideabi) toolchains, -fpic is enabled by default.
At least on my 3.4 arm kernel, this causes an issue with kernel modules:
"Unknown symbol _GLOBAL_OFFSET_TABLE_".
On traditional armeabi toolchains, -fpic is not enabled, resulting in working
kernel modules; let's follow that here.
Change-Id: I3058b5213b34bdde9bb9d744563c7d55cd42d2a5
The current version always redownloads the artifact.
Kali does not like the nested md5sum command and ignores it
leaving file checksum value blank so the test always fails.
A temporary variable is used to get around this limitation
of kali.
The echo "Downloading..." command has been modified to actually
print and has been moved so it only does so when downloading
the artifact.
Change-Id: I115860a87e55399a652d6548fe50f6204337f854
* checksum will be downloaded and asserted to prevent a
redownload every clean
* Archives will exist (invisibly) at vendor/cm/prebuilt/archive
Change-Id: I637e86cacd146d665044a119885900dc4660e22b
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
Let a device specify INITIAL_COPYRIGHT_YEAR=XXXX in setup-makefiles.sh
so that the correct copyright(s) is/are included in vendor makefiles.
The CyanogenMod copyright is retained when INITIAL_COPYRIGHT_YEAR<2017
and the LineageOS copyright is now included for >=2017.
Change-Id: I6895b5b69bc7ba399042ac3c29e17f3209d15f1b
* These are now needed sooner than we had been importing them
in android_build. This ensures they'll be imported before
their macros are needed.
Change-Id: Id7e31f36393414f6d51a8bc80686ceaebfe7cb28
Currently, in the media HAL, we're replacing the usage
of this variable with a check for TARGET_BOARD_PLATFORM.
Instead of having to do that every time a new branch is made,
define the variable in qcom_target.
Change-Id: Idd85b6f0b167bbc64833eb03335abcaa7b9de4a9
-e no longer exists starting from v2.2b3, so update the
command. While at it, add the logic to deal with Android N
separated boot oat files.
Change-Id: Iab8e3946d6421824fea74e26dc43d2db38573022
By the time lunch is run on a product name, it's too late to check
whether a deprecated CM device tree is being used (roomservice runs in
lunch). Instead, rely on check_product() to identify whether a tree
uses cm_ or lineage_ before running lunch.
Change-Id: I16288365f791ff68c3226f3808427168b2fc06fa
* Gello being our first pawn
* Use curl instead of wget (more powerful)
* Ensure the intermediates directory exists prior to download
Change-Id: If19c18638a14a8b9ab55470ae6ee5a2deda2e3ec
* Some projects with multiple merges and
discountinuous histories could trigger
an error here when the HEAD~{?} does
not exist, hence avoid this by ignoring
the commit and continue the search
Change-Id: Ice28c87d1bf8897da52236b637bbb0c5d349f848
It doesn't make sense to have:
1. mm and mmp
2. mma and mmap
3. mmm and mmmp
4. mmma BUT NO mmmap
Add the mmmap command for consistency.
Change-Id: I8cb1041113e6d56a0ac1d34898b07615da22b459
* In a situation where the Android tree is already
fetched and entirely set for a device tree,
all additions to cm.dependencies in a common
project were ignored due to being already fetched
* Add a new array of projects to verify but not
necessarily fetch, and fill it upon fetch request
or if the project starts with "android_device_",
to let the iterations follow the common trees
Change-Id: I9eea0ab9c46a4bed8366baa37a4e7e8696481504
Signed-off-by: Adrian DC <radian.dc@gmail.com>
* This code was introduced to support building from Qualcomm hardware
manifests, placing the appropriate Qualcomm HALs at the AOSP
hardware/qcom/$(HAL_TYPE) location. This isn't a supported use case
anymore, so remove the dead code.
Change-Id: Id7d53b33f53289bc1ead8eb983d7e252940b0387
Newer QCOM HALs use this flag for libc2dcolorconvert,
examples being msm8937 and msm8996 media HALs.
Change-Id: I28e8a42b58b4f5f71126df7ad97c377724da5bab
Snapdragon LLVM is not supported on Darwin yet.
There might be the case where the directory structure is set up
by default and the build system will try to execute the linux binaries.
This will fail obviously:
/bin/bash: /Volumes/Android/build/prebuilts/snapdragon-llvm/toolchains/llvm-Snapdragon_LLVM_for_Android_3.8/prebuilt/linux-x86_64/bin/clang: cannot execute binary file
Change-Id: I1f4d0bbda88b540b7ac3159f8e83de4501b9073b
Signed-off-by: Alexander Martinz <eviscerationls@gmail.com>
Do not prepend app or priv-app to the src when a path is explicitly
given as an argument. This fixes the SRC path in such conditions.
Change-Id: I43370f17fe224df323fcfa9b0d5eae4ee2996524
In some cases we may not want to check against TARGET_DEVICE so allow
setting a custom variable to check against
Change-Id: Ia2fb338f453137a95a59c6940b0cc16b261505bf
In some circumstances we might want to set a custom vendor.mk
filename. If not set, then just default to the current device name
Change-Id: Icb59ebee67ce17b41ac613020685773efb01103d
* androidkernel is a set of toolchain symlinks for kernel builds that
point to the regular toolchain binaries, except with ld pointing to bfd
instead of gold.
Change-Id: Id1e2d3b1c50db581bff13cfa00b5b35d5badb8ed
* We might want to disable pinning entirely for an extract run.
* Set DISABLE_PINNING=1 to turn it off and override everything.
Change-Id: I1be90dda68f0de1c5f5a70c946052d70bfaab7ed
* No need to look for /sbin/recovery as adbd will report
the device as being in recovery mode already. Also, this
check appears to hang on N.
Change-Id: I3bcb427835ae3cd37c7ea56cbc57bba0d18fcc04
Since mainline devices will always identify as a latest
release api level (due to userbase volume), make sure
we check against the current api vs api -1.
Change-Id: I9e9b41a1af5d3a93f58b2e0e0545b979d1cef978
* In many cases, we would like to keep certain files which do not
exactly match what might be extracted from a factory ROM. This
becomes extremely annoying over time to manually reconstruct,
and it's easy to miss these special cases when updating to a
new vendor release. It's also useful to flag additions which
aren't found in the upstream release at all.
* To solve this, we can now "pin" files to a specific sha1 hash.
Simply append the sha1sum of the file to the appropriate line
in your bloblist, prepended by a | delimiter.
* This works by backing up the current files first, running the
extraction, then checking if any pinned files need to be
restored.
* Also add an exit trap to clean up all of our tempfiles
Change-Id: I2010b5175b5701e19a3efb112e8907062ca37d66
* Not gonna work without preparsing all the lists combined together.
This reverts commit b7b7f88443.
Change-Id: I63ceead414d7f8416e2c2c8e4b12098077b545e2
* A final "rootfs" tag in the last column will place
the chosen file into the ramdisk
* Currently only supports files in /sbin
* Cleaned up usage of class-specific flags
* Simplified code
Change-Id: Id823d70aab51f8767522f697eaf65f52fc64b94b
* Instead of having to enumerate packages and do a bunch of tedious
shit, we now have a way to do it automatically based only on
the blob lists.
* Devices still need to implement a short script, but this library
handles all the core functions.
* Yes, we should probably be doing this in Python- Bash is
absolutely horrible at dealing with arrays and lists.
Change-Id: I73b30ff4531c4d1b33ac53db33abf62555f500b4
$@ already contains the full path of the output, so no need
to prepend ANDROID_BUILD_TOP to the path
Change-Id: Ieeeb9fa16352e80b878cddb89b1e7c04b82ab43c
Since cmsdk prebuilts lives in a single master branch,
previous branches that apicheck will fail since they'll
verify against an api that exists in future releases.
Change-Id: I56594d075b89cb1a3d7a606cc9c1699dfffd94cb
TICKET: CYNGNOS-2220
Add ability to `make cmsdk-test-coverage`
to generate an html page which denotes how
much the testing package from vendor/cmsdk
covers public interfaces.
Change-Id: I76556df1822934a6b7e86ebf2ff42e302acff46d
TICKET: CYNGNOS-2189
Maven APK (Why are these in maven anyways?) will crash due to it not
needing to generate a jack file. This wasn't noticed before as brunch
succeeded, however, doing an mmm on one will cause this to fail. This
adds in logic to not generate a jack file for an apk in maven.
Change-Id: I44036bfd51ae3edd9437b153898b419ffc6ba2d6
Prebuilts weren't generating their .jack file when doing an mm or mmm
but would work with a brunch or full make. This makes it so mmm/mm
will properly generate it.
Change-Id: If5ccd1b557ef124b3c57fa09b172ec11caff886e
Now allows you to specify a target module to be
compiled prior to publish via LOCAL_MAVEN_TARGET_MODULE.
This utilizes the definition for intermediates-dir-for on
the target module after it sets an explicit dependency from
remote to local module.
Change-Id: I65b5e07fdcc3368e350b1935ccca381b74dce59e
Dependencies of Maven targets will have to be managed manually. The prebuilt
target that the Maven target is based off of wasn't designed to handle multiple
artifacts per project. Additionally, this target is mainly intended for grabbing
APKs or other standalone blobs, not for pulling in a full jar dependency tree.
If that is your use case, you may want to investigate simply converting your
project to Gradle (or the Maven build system, if you can stomach it).
Change-Id: Iaf48c95c704cfdc85e0074394ff3c7464937e60c
Change-Id: If62e6b1d2ac41730ff2a8d562173abd2cb768f93
Add cmstatusbar service to system server services context
Change-Id: I77c5de75722cc5f36a5326e3da57ab661b89d189
Build Platform resource package.
Change-Id: Id60f66b6db23989db1472a19bcb079b0083f7393
vendor/cm: Lock cm platform library/cmsdk to non-release builds.
Change-Id: I01c1c3fe559d438e28339ce426d7ba7e42724002
* vendor/*/build/core/definitions.mk is automatically sourced by the
build system to load custom macros. Start using this for some
of our own.
* Adds a "uniq" macro to remove duplicates from a list without changing
it's order.
Change-Id: Id5f1eb4b9f81bb31ca0b3d5e74c298b3d105da10