Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e9c0b83e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "headers_lib: rename Android.bp"

parents 9fdd00c8 95f9daa7
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -116,3 +116,8 @@ all.config

# fetched Android config fragments
android/configs/android-*.cfg

#
#Ignoring Android.bp link file
#
Android.bp

Android.bp

deleted100644 → 0
+0 −27
Original line number Diff line number Diff line
cc_binary_host {
    name: "unifdef",
    srcs: ["scripts/unifdef.c"],
    sanitize: {
        never: true,
    }
}

gensrcs {
    name: "qseecom-kernel-includes",

    // move to out/ as root for header generation because of scripts/unifdef
    // storage - at the expense of extra ../ references
    cmd: "pushd out && mkdir -p scripts && rm -f scripts/unifdef && ln -s ../../$(location unifdef) scripts/unifdef && ../$(location scripts/headers_install.sh) `dirname ../$(out)` ../ $(in) && popd",

    tools: ["unifdef"],
    tool_files: ["scripts/headers_install.sh"],
    export_include_dirs: ["include/uapi"],
    srcs: ["include/uapi/linux/qseecom.h"],
    output_extension: "h",
}

cc_library_headers {
    name: "qseecom-kernel-headers",
    generated_headers: ["qseecom-kernel-includes"],
    export_generated_headers: ["qseecom-kernel-includes"],
}

Androidbp

0 → 100644
+45 −0
Original line number Diff line number Diff line
cc_binary_host {
    name: "unifdef",
    srcs: ["scripts/unifdef.c"],
    sanitize: {
        never: true,
    },
}

genrule {
    name: "gen-headers_install.sh",
    srcs: ["scripts/headers_install.sh"],
    tools: ["unifdef"],
    out: ["headers_install.sh"],
    cmd: "sed 's+scripts/unifdef+$(location unifdef)+g' $(in) > $(out)",
}

cc_prebuilt_binary {
    name: "headers_install.sh",
    device_supported: false,
    host_supported: true,
    srcs: [":gen-headers_install.sh"],
}

// Use the following for verbose output from kernel_headers.py.
// kernel_headers_verbose = "--verbose "
// Use the following for minimal output from kernel_headers.py.
kernel_headers_verbose = ""

build = ["gen_headers_arm.bp", "gen_headers_arm64.bp"]

cc_library_headers {
    name: "qti_kernel_headers",
    arch: {
        arm: {
            generated_headers: ["qti_generate_kernel_headers_arm"],
            export_generated_headers: ["qti_generate_kernel_headers_arm"],
        },
        arm64: {
            generated_headers: ["qti_generate_kernel_headers_arm64"],
            export_generated_headers: ["qti_generate_kernel_headers_arm64"],
        },
    },
    vendor: true,
    recovery_available: true,
}
+42 −37
Original line number Diff line number Diff line
@@ -43,10 +43,10 @@ This document describes the Linux kernel Makefiles.
	   --- 6.10 Generic header files

	=== 7 Kbuild syntax for exported headers
		--- 7.1 header-y
		--- 7.2 genhdr-y
		--- 7.3 generic-y
		--- 7.4 generated-y
		--- 7.1 no-export-headers-y
		--- 7.2 generic-y
		--- 7.3 generated-y
		--- 7.4 mandatory-y

	=== 8 Kbuild Variables
	=== 9 Makefile language
@@ -1234,7 +1234,22 @@ When kbuild executes, the following steps are followed (roughly):
	that may be shared between individual architectures.
	The recommended approach how to use a generic header file is
	to list the file in the Kbuild file.
	See "7.4 generic-y" for further info on syntax etc.
	See "7.2 generic-y" for further info on syntax etc.

--- 6.11 Post-link pass

        If the file arch/xxx/Makefile.postlink exists, this makefile
        will be invoked for post-link objects (vmlinux and modules.ko)
        for architectures to run post-link passes on. Must also handle
        the clean target.

        This pass runs after kallsyms generation. If the architecture
        needs to modify symbol locations, rather than manipulate the
        kallsyms, it may be easier to add another postlink target for
        .tmp_vmlinux? targets to be called from link-vmlinux.sh.

        For example, powerpc uses this to check relocation sanity of
        the linked vmlinux file.

=== 7 Kbuild syntax for exported headers

@@ -1246,39 +1261,21 @@ The pre-processing does:
- drop include of compiler.h
- drop all sections that are kernel internal (guarded by ifdef __KERNEL__)

Each relevant directory contains a file name "Kbuild" which specifies the
headers to be exported.
See subsequent chapter for the syntax of the Kbuild file.

	--- 7.1 header-y

	header-y specifies header files to be exported.

		Example:
			#include/linux/Kbuild
			header-y += usb/
			header-y += aio_abi.h

	The convention is to list one file per line and
	preferably in alphabetic order.

	header-y also specifies which subdirectories to visit.
	A subdirectory is identified by a trailing '/' which
	can be seen in the example above for the usb subdirectory.

	Subdirectories are visited before their parent directories.
All headers under include/uapi/, include/generated/uapi/,
arch/<arch>/include/uapi/ and arch/<arch>/include/generated/uapi/
are exported.

	--- 7.2 genhdr-y
A Kbuild file may be defined under arch/<arch>/include/uapi/asm/ and
arch/<arch>/include/asm/ to list asm files coming from asm-generic.
See subsequent chapter for the syntax of the Kbuild file.

	genhdr-y specifies generated files to be exported.
	Generated files are special as they need to be looked
	up in another directory when doing 'make O=...' builds.
	--- 7.1 no-export-headers

		Example:
			#include/linux/Kbuild
			genhdr-y += version.h
	no-export-headers is essentially used by include/uapi/linux/Kbuild to
	avoid exporting specific headers (e.g. kvm.h) on architectures that do
	not support it. It should be avoided as much as possible.

	--- 7.3 generic-y
	--- 7.2 generic-y

	If an architecture uses a verbatim copy of a header from
	include/asm-generic then this is listed in the file
@@ -1305,11 +1302,10 @@ See subsequent chapter for the syntax of the Kbuild file.
		Example: termios.h
			#include <asm-generic/termios.h>

	--- 7.4 generated-y
	--- 7.3 generated-y

	If an architecture generates other header files alongside generic-y
	wrappers, and not included in genhdr-y, then generated-y specifies
	them.
	wrappers, generated-y specifies them.

	This prevents them being treated as stale asm-generic wrappers and
	removed.
@@ -1318,6 +1314,15 @@ See subsequent chapter for the syntax of the Kbuild file.
			#arch/x86/include/asm/Kbuild
			generated-y += syscalls_32.h

	--- 7.4 mandatory-y

	mandatory-y is essentially used by include/uapi/asm-generic/Kbuild.asm
	to define the minimun set of headers that must be exported in
	include/asm.

	The convention is to list one subdir per line and
	preferably in alphabetic order.

=== 8 Kbuild Variables

The top Makefile exports the following variables:
+3 −3
Original line number Diff line number Diff line
@@ -1119,7 +1119,7 @@ firmware_install:
export INSTALL_HDR_PATH = $(objtree)/usr

# If we do an all arch process set dst to asm-$(hdr-arch)
hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm)
hdr-dst = $(if $(KBUILD_HEADERS), dst=include/arch-$(hdr-arch), dst=include)

PHONY += archheaders
archheaders:
@@ -1140,7 +1140,7 @@ headers_install: __headers
	$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \
	  $(error Headers not exportable for the $(SRCARCH) architecture))
	$(Q)$(MAKE) $(hdr-inst)=include/uapi
	$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst)
	$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi $(hdr-dst)

PHONY += headers_check_all
headers_check_all: headers_install_all
@@ -1149,7 +1149,7 @@ headers_check_all: headers_install_all
PHONY += headers_check
headers_check: headers_install
	$(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
	$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst) HDRCHECK=1
	$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi $(hdr-dst) HDRCHECK=1

# ---------------------------------------------------------------------------
# Kernel selftest
Loading