Enable exporting the non-uapi scsi headers.

Callers are supposed to #include <scsi/sg.h> but if we tell soong to add
bionic/libc/kernel/android/ to the include path, the uapi headers in there
would be (unintentionally) accessible as either <linux/name.h> or
<uapi/linux/name.h>.

Bug: N/A (hit while upgrading strace to 4.17)
Test: builds
Change-Id: I8d47dd51da688c38f747a255d401dfb2c209c805
This commit is contained in:
Elliott Hughes 2017-05-25 17:13:32 -07:00
parent 025fb33c9d
commit 5059939c87
8 changed files with 22 additions and 2 deletions

View File

@ -2097,7 +2097,7 @@ ndk_headers {
ndk_headers {
name: "libc_kernel_android_scsi",
from: "kernel/android/scsi",
from: "kernel/android/scsi/scsi",
to: "scsi",
srcs: ["kernel/android/scsi/**/*.h"],
license: "NOTICE",

View File

@ -95,6 +95,6 @@ updater = BatchFileUpdater()
processFiles(updater, original_dir, modified_dir, "uapi", "uapi"),
# Now process the special files.
processFiles(updater, original_dir, modified_dir, "scsi", os.path.join("android", "scsi"))
processFiles(updater, original_dir, modified_dir, "scsi", os.path.join("android", "scsi", "scsi"))
updater.updateGitFiles()

View File

@ -91,6 +91,7 @@ cc_test_library {
"regex_test.cpp",
"resolv_test.cpp",
"sched_test.cpp",
"scsi_sg_test.cpp",
"search_test.cpp",
"semaphore_test.cpp",
"setjmp_test.cpp",

19
tests/scsi_sg_test.cpp Normal file
View File

@ -0,0 +1,19 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This test is just "does it compile?" because the scsi headers come from a special set.
#include <sys/types.h>
#include <scsi/sg.h>