mirror of
https://gitee.com/openharmony/third_party_cups
synced 2024-11-23 09:59:45 +00:00
aeffe8be72
Signed-off-by: langerange <zhengwei97@huawei.com>
508 lines
13 KiB
Plaintext
508 lines
13 KiB
Plaintext
# Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
# 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.
|
|
|
|
import("//build/ohos.gni")
|
|
import("./cups.gni")
|
|
|
|
config_dir = "${target_gen_dir}"
|
|
cups_code_dir = "${target_gen_dir}/cups-2.4.0"
|
|
core_code_dir = "$cups_code_dir/cups/"
|
|
filter_code_dir = "$cups_code_dir/filter"
|
|
backend_code_dir = "$cups_code_dir/backend"
|
|
ppdc_code_dir = "$cups_code_dir/ppdc"
|
|
scheduler_code_dir = "$cups_code_dir/scheduler"
|
|
|
|
SUBSYSTEM_NAME = "thirdparty"
|
|
PART_NAME = "cups"
|
|
|
|
cups_generated_sources = [
|
|
"$core_code_dir/adminutil.c",
|
|
"$core_code_dir/array.c",
|
|
"$core_code_dir/auth.c",
|
|
"$core_code_dir/backchannel.c",
|
|
"$core_code_dir/backend.c",
|
|
"$core_code_dir/debug.c",
|
|
"$core_code_dir/dest-job.c",
|
|
"$core_code_dir/dest-localization.c",
|
|
"$core_code_dir/dest-options.c",
|
|
"$core_code_dir/dest.c",
|
|
"$core_code_dir/dir.c",
|
|
"$core_code_dir/encode.c",
|
|
"$core_code_dir/file.c",
|
|
"$core_code_dir/getdevices.c",
|
|
"$core_code_dir/getifaddrs.c",
|
|
"$core_code_dir/getputfile.c",
|
|
"$core_code_dir/globals.c",
|
|
"$core_code_dir/hash.c",
|
|
"$core_code_dir/http-addr.c",
|
|
"$core_code_dir/http-addrlist.c",
|
|
"$core_code_dir/http-support.c",
|
|
"$core_code_dir/http.c",
|
|
"$core_code_dir/ipp-file.c",
|
|
"$core_code_dir/ipp-support.c",
|
|
"$core_code_dir/ipp-vars.c",
|
|
"$core_code_dir/ipp.c",
|
|
"$core_code_dir/langprintf.c",
|
|
"$core_code_dir/language.c",
|
|
"$core_code_dir/md5.c",
|
|
"$core_code_dir/md5passwd.c",
|
|
"$core_code_dir/notify.c",
|
|
"$core_code_dir/options.c",
|
|
"$core_code_dir/ppd-attr.c",
|
|
"$core_code_dir/ppd-cache.c",
|
|
"$core_code_dir/ppd-conflicts.c",
|
|
"$core_code_dir/ppd-custom.c",
|
|
"$core_code_dir/ppd-emit.c",
|
|
"$core_code_dir/ppd-localize.c",
|
|
"$core_code_dir/ppd-mark.c",
|
|
"$core_code_dir/ppd-page.c",
|
|
"$core_code_dir/ppd-util.c",
|
|
"$core_code_dir/ppd.c",
|
|
"$core_code_dir/pwg-media.c",
|
|
"$core_code_dir/raster-error.c",
|
|
"$core_code_dir/raster-interpret.c",
|
|
"$core_code_dir/raster-stream.c",
|
|
"$core_code_dir/request.c",
|
|
"$core_code_dir/sidechannel.c",
|
|
"$core_code_dir/snmp.c",
|
|
"$core_code_dir/snprintf.c",
|
|
"$core_code_dir/string.c",
|
|
"$core_code_dir/tempfile.c",
|
|
"$core_code_dir/thread.c",
|
|
"$core_code_dir/tls-openssl.c",
|
|
"$core_code_dir/tls.c",
|
|
"$core_code_dir/transcode.c",
|
|
"$core_code_dir/usersys.c",
|
|
"$core_code_dir/util.c",
|
|
]
|
|
|
|
scheduler_util_generated_sources = [ "$scheduler_code_dir/util.c" ]
|
|
|
|
cups_deviced_generated_sources = [ "$scheduler_code_dir/cups-deviced.c" ]
|
|
|
|
cups_driverd_generated_sources = [ "$scheduler_code_dir/cups-driverd.cxx" ]
|
|
|
|
cups_exec_generated_sources = [ "$scheduler_code_dir/cups-exec.c" ]
|
|
|
|
cupsd_generated_sources = [
|
|
"$scheduler_code_dir/auth.c",
|
|
"$scheduler_code_dir/banners.c",
|
|
"$scheduler_code_dir/cert.c",
|
|
"$scheduler_code_dir/classes.c",
|
|
"$scheduler_code_dir/client.c",
|
|
"$scheduler_code_dir/colorman.c",
|
|
"$scheduler_code_dir/conf.c",
|
|
"$scheduler_code_dir/dirsvc.c",
|
|
"$scheduler_code_dir/env.c",
|
|
"$scheduler_code_dir/file.c",
|
|
"$scheduler_code_dir/ipp.c",
|
|
"$scheduler_code_dir/job.c",
|
|
"$scheduler_code_dir/listen.c",
|
|
"$scheduler_code_dir/log.c",
|
|
"$scheduler_code_dir/main.c",
|
|
"$scheduler_code_dir/network.c",
|
|
"$scheduler_code_dir/policy.c",
|
|
"$scheduler_code_dir/printers.c",
|
|
"$scheduler_code_dir/process.c",
|
|
"$scheduler_code_dir/quotas.c",
|
|
"$scheduler_code_dir/select.c",
|
|
"$scheduler_code_dir/server.c",
|
|
"$scheduler_code_dir/statbuf.c",
|
|
"$scheduler_code_dir/subscriptions.c",
|
|
"$scheduler_code_dir/sysman.c",
|
|
]
|
|
|
|
cupsfilter_generated_sources = [ "$scheduler_code_dir/cupsfilter.c" ]
|
|
|
|
ipp_generated_sources = [ "$backend_code_dir/ipp.c" ]
|
|
|
|
usb_generated_sources = [
|
|
"$backend_code_dir/usb.c",
|
|
"$backend_code_dir/usb_manager.cxx",
|
|
]
|
|
|
|
lp_generated_sources = [ "$cups_code_dir/systemv/lp.c" ]
|
|
|
|
lpadmin_generated_sources = [ "$cups_code_dir/systemv/lpadmin.c" ]
|
|
|
|
lpinfo_generated_sources = [ "$cups_code_dir/systemv/lpinfo.c" ]
|
|
|
|
rastertopwg_generated_sources = [ "$filter_code_dir/rastertopwg.c" ]
|
|
|
|
cupsmime_generated_sources = [
|
|
"$scheduler_code_dir/filter.c",
|
|
"$scheduler_code_dir/mime.c",
|
|
"$scheduler_code_dir/type.c",
|
|
]
|
|
|
|
cupsimage_generated_sources = [
|
|
"$core_code_dir/raster-interstub.c",
|
|
"$core_code_dir/raster-stubs.c",
|
|
]
|
|
|
|
backend_generated_sources = [
|
|
"$backend_code_dir/ieee1284.c",
|
|
"$backend_code_dir/network.c",
|
|
"$backend_code_dir/runloop.c",
|
|
"$backend_code_dir/snmp-supplies.c",
|
|
]
|
|
|
|
cupsppdc_generated_sources = [
|
|
"$ppdc_code_dir/ppdc-array.cxx",
|
|
"$ppdc_code_dir/ppdc-attr.cxx",
|
|
"$ppdc_code_dir/ppdc-catalog.cxx",
|
|
"$ppdc_code_dir/ppdc-choice.cxx",
|
|
"$ppdc_code_dir/ppdc-constraint.cxx",
|
|
"$ppdc_code_dir/ppdc-driver.cxx",
|
|
"$ppdc_code_dir/ppdc-file.cxx",
|
|
"$ppdc_code_dir/ppdc-filter.cxx",
|
|
"$ppdc_code_dir/ppdc-font.cxx",
|
|
"$ppdc_code_dir/ppdc-group.cxx",
|
|
"$ppdc_code_dir/ppdc-import.cxx",
|
|
"$ppdc_code_dir/ppdc-mediasize.cxx",
|
|
"$ppdc_code_dir/ppdc-message.cxx",
|
|
"$ppdc_code_dir/ppdc-option.cxx",
|
|
"$ppdc_code_dir/ppdc-profile.cxx",
|
|
"$ppdc_code_dir/ppdc-shared.cxx",
|
|
"$ppdc_code_dir/ppdc-source.cxx",
|
|
"$ppdc_code_dir/ppdc-string.cxx",
|
|
"$ppdc_code_dir/ppdc-variable.cxx",
|
|
]
|
|
|
|
ppdc_generated_sources = [ "$ppdc_code_dir/ppdc.cxx" ]
|
|
|
|
mime_convs_generated_source = "$cups_code_dir/conf/mime.convs"
|
|
mime_types_generated_source = "$cups_code_dir/conf/mime.types"
|
|
|
|
action("cups_action") {
|
|
print("cups_action is exec")
|
|
script = "//third_party/cups/install.py"
|
|
outputs = []
|
|
outputs += cups_generated_sources
|
|
outputs += cups_deviced_generated_sources
|
|
outputs += cups_driverd_generated_sources
|
|
outputs += cups_exec_generated_sources
|
|
outputs += cupsd_generated_sources
|
|
outputs += cupsfilter_generated_sources
|
|
outputs += ipp_generated_sources
|
|
outputs += usb_generated_sources
|
|
outputs += lp_generated_sources
|
|
outputs += lpadmin_generated_sources
|
|
outputs += lpinfo_generated_sources
|
|
outputs += rastertopwg_generated_sources
|
|
outputs += cupsmime_generated_sources
|
|
outputs += cupsimage_generated_sources
|
|
outputs += backend_generated_sources
|
|
outputs += cupsppdc_generated_sources
|
|
outputs += ppdc_generated_sources
|
|
outputs += scheduler_util_generated_sources
|
|
outputs += [ mime_convs_generated_source ]
|
|
outputs += [ mime_types_generated_source ]
|
|
|
|
inputs = [ "//third_party/cups/cups-2.4.0-source.tar.gz" ]
|
|
cups_path = rebase_path("${target_gen_dir}", root_build_dir)
|
|
cups_source_path = rebase_path("//third_party/cups", root_build_dir)
|
|
args = [
|
|
"--gen-dir",
|
|
"$cups_path",
|
|
"--source-dir",
|
|
"$cups_source_path",
|
|
]
|
|
}
|
|
|
|
group("third_party_cups") {
|
|
public_deps = [ ":cups" ]
|
|
deps = [
|
|
":cups-deviced",
|
|
":cups-driverd",
|
|
":cups-exec",
|
|
":cupsd",
|
|
":cupsfilter",
|
|
":cupsimage",
|
|
":ipp",
|
|
":mime.convs",
|
|
":mime.types",
|
|
":rastertopwg",
|
|
":usb",
|
|
]
|
|
}
|
|
|
|
config("cups_config") {
|
|
defines = cups_defines
|
|
include_dirs = [
|
|
"$config_dir",
|
|
"$cups_code_dir",
|
|
"$core_code_dir",
|
|
"//third_party/libusb",
|
|
"//third_party/openssl/include",
|
|
get_label_info(":cups_action", "target_gen_dir") + "/cups-2.4.0",
|
|
]
|
|
|
|
cflags = [
|
|
"-Wno-unused-function",
|
|
"-Wno-unused-value",
|
|
"-Wno-implicit-function-declaration",
|
|
"-Wno-int-conversion",
|
|
"-D_FORTIFY_SOURCE=2",
|
|
"-fstack-protector-all",
|
|
"-fdata-sections",
|
|
"-ffunction-sections",
|
|
"-fno-asynchronous-unwind-tables",
|
|
"-fno-unwind-tables",
|
|
"-Os",
|
|
]
|
|
}
|
|
|
|
ohos_shared_library("cups") {
|
|
sources = cups_generated_sources
|
|
sources += cupsimage_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/openssl:libcrypto_shared",
|
|
"//third_party/openssl:libssl_shared",
|
|
]
|
|
external_deps = [ "zlib:libz" ]
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_shared_library("cupsimage") {
|
|
sources = cupsimage_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("rastertopwg") {
|
|
sources = rastertopwg_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
install_enable = true
|
|
module_install_dir = "$cups_serverbin_dir/filter"
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_shared_library("backend") {
|
|
sources = backend_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("ipp") {
|
|
sources = ipp_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:backend",
|
|
"//third_party/cups:cups",
|
|
]
|
|
install_enable = true
|
|
module_install_dir = "$cups_serverbin_dir/backend"
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("usb") {
|
|
sources = usb_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:backend",
|
|
"//third_party/cups:cups",
|
|
"//third_party/libusb:libusb",
|
|
]
|
|
external_deps = [
|
|
"c_utils:utils",
|
|
"drivers_interface_usb:libusb_proxy_1.0",
|
|
"hilog:libhilog",
|
|
"usb_manager:usbsrv_client",
|
|
]
|
|
install_enable = true
|
|
module_install_dir = "$cups_serverbin_dir/backend"
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
#end of backend
|
|
|
|
ohos_executable("lpadmin") {
|
|
sources = lpadmin_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
install_enable = true
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("lpinfo") {
|
|
sources = lpinfo_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
install_enable = true
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("lp") {
|
|
sources = lp_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
install_enable = true
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
#ppdc
|
|
ohos_shared_library("cupsppdc") {
|
|
sources = cupsppdc_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("ppdc") {
|
|
sources = ppdc_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
"//third_party/cups:cupsppdc",
|
|
]
|
|
install_enable = true
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
#end of ppdc
|
|
|
|
#scheduler
|
|
ohos_shared_library("cupsmime") {
|
|
sources = cupsmime_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
]
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("cupsd") {
|
|
sources = cupsd_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
"//third_party/cups:cupsmime",
|
|
]
|
|
install_enable = true
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("cupsfilter") {
|
|
sources = cupsfilter_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
"//third_party/cups:cupsmime",
|
|
]
|
|
install_enable = true
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("cups-deviced") {
|
|
sources = cups_deviced_generated_sources
|
|
sources += scheduler_util_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
"//third_party/cups:cupsmime",
|
|
]
|
|
install_enable = true
|
|
module_install_dir = "$cups_serverbin_dir/daemon"
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("cups-driverd") {
|
|
sources = cups_driverd_generated_sources
|
|
sources += scheduler_util_generated_sources
|
|
deps = [
|
|
":cups_action",
|
|
"//third_party/cups:cups",
|
|
"//third_party/cups:cupsppdc",
|
|
]
|
|
install_enable = true
|
|
module_install_dir = "$cups_serverbin_dir/daemon"
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_executable("cups-exec") {
|
|
sources = cups_exec_generated_sources
|
|
deps = [ ":cups_action" ]
|
|
install_enable = true
|
|
module_install_dir = "$cups_serverbin_dir/daemon"
|
|
public_configs = [ ":cups_config" ]
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_prebuilt_etc("mime.convs") {
|
|
source = mime_convs_generated_source
|
|
deps = [ ":cups_action" ]
|
|
relative_install_dir = "cups/share/mime"
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|
|
|
|
ohos_prebuilt_etc("mime.types") {
|
|
source = mime_types_generated_source
|
|
deps = [ ":cups_action" ]
|
|
relative_install_dir = "cups/share/mime"
|
|
subsystem_name = "$SUBSYSTEM_NAME"
|
|
part_name = "$PART_NAME"
|
|
}
|