17b66cf61Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 27b66cf61Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 37b66cf61Sopenharmony_ci# you may not use this file except in compliance with the License. 47b66cf61Sopenharmony_ci# You may obtain a copy of the License at 57b66cf61Sopenharmony_ci# 67b66cf61Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 77b66cf61Sopenharmony_ci# 87b66cf61Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 97b66cf61Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 107b66cf61Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 117b66cf61Sopenharmony_ci# See the License for the specific language governing permissions and 127b66cf61Sopenharmony_ci# limitations under the License. 137b66cf61Sopenharmony_ci 147b66cf61Sopenharmony_ciimport("//build/ohos.gni") 157b66cf61Sopenharmony_ciimport("//third_party/cups/cups.gni") 167b66cf61Sopenharmony_ci 177b66cf61Sopenharmony_ciCUPS_CODE_DIR = "//third_party/cups/cups-2.4.0" 187b66cf61Sopenharmony_ciCUPS_FILTERS_CODE_DIR = "//third_party/cups-filters" 197b66cf61Sopenharmony_ciSUBSYSTEM_NAME = "thirdparty" 207b66cf61Sopenharmony_ciPART_NAME = "cups-filters" 217b66cf61Sopenharmony_ci 227b66cf61Sopenharmony_cigroup("third_party_cupsfilters") { 237b66cf61Sopenharmony_ci deps = [ 247b66cf61Sopenharmony_ci ":cupsfilters", 257b66cf61Sopenharmony_ci ":cupsfilters.convs", 267b66cf61Sopenharmony_ci ":cupsfilters.types", 277b66cf61Sopenharmony_ci ":imagetoraster", 287b66cf61Sopenharmony_ci ] 297b66cf61Sopenharmony_ci} 307b66cf61Sopenharmony_ci 317b66cf61Sopenharmony_ciconfig("cups_filters_config") { 327b66cf61Sopenharmony_ci include_dirs = [ 337b66cf61Sopenharmony_ci ".", 347b66cf61Sopenharmony_ci "$CUPS_CODE_DIR", 357b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/", 367b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/filter/", 377b66cf61Sopenharmony_ci ] 387b66cf61Sopenharmony_ci 397b66cf61Sopenharmony_ci defines = cups_defines 407b66cf61Sopenharmony_ci 417b66cf61Sopenharmony_ci cflags = [ 427b66cf61Sopenharmony_ci "-D_PPD_DEPRECATED=", 437b66cf61Sopenharmony_ci "-Wextra", 447b66cf61Sopenharmony_ci "-Wall", 457b66cf61Sopenharmony_ci "-Wno-unused-parameter", 467b66cf61Sopenharmony_ci "-Wno-unused-function", 477b66cf61Sopenharmony_ci "-Wno-unused-variable", 487b66cf61Sopenharmony_ci "-Wno-unused-value", 497b66cf61Sopenharmony_ci "-Wno-sign-compare", 507b66cf61Sopenharmony_ci "-Wno-missing-field-initializers", 517b66cf61Sopenharmony_ci 527b66cf61Sopenharmony_ci "-Wno-strlcpy-strlcat-size", 537b66cf61Sopenharmony_ci "-Wtautological-pointer-compare", 547b66cf61Sopenharmony_ci "-Wimplicit-fallthrough", 557b66cf61Sopenharmony_ci "-Wno-implicit-function-declaration", 567b66cf61Sopenharmony_ci "-w", 577b66cf61Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 587b66cf61Sopenharmony_ci "-fstack-protector-all", 597b66cf61Sopenharmony_ci ] 607b66cf61Sopenharmony_ci} 617b66cf61Sopenharmony_ci 627b66cf61Sopenharmony_ciaction("cupsfilters_action") { 637b66cf61Sopenharmony_ci script = "//third_party/cups-filters/install.py" 647b66cf61Sopenharmony_ci outputs = [ "${target_gen_dir}/cupsfilters.convs" ] 657b66cf61Sopenharmony_ci inputs = [ "//third_party/cups/cups-2.4.0-source.tar.gz" ] 667b66cf61Sopenharmony_ci gen_path = rebase_path("${target_gen_dir}", root_build_dir) 677b66cf61Sopenharmony_ci source_path = rebase_path("//third_party/cups-filters", root_build_dir) 687b66cf61Sopenharmony_ci args = [ 697b66cf61Sopenharmony_ci "--gen-dir", 707b66cf61Sopenharmony_ci "$gen_path", 717b66cf61Sopenharmony_ci "--source-dir", 727b66cf61Sopenharmony_ci "$source_path", 737b66cf61Sopenharmony_ci ] 747b66cf61Sopenharmony_ci} 757b66cf61Sopenharmony_ci 767b66cf61Sopenharmony_ciohos_shared_library("cupsfilters") { 777b66cf61Sopenharmony_ci sources = [ 787b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/attr.c", 797b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/check.c", 807b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/cmyk.c", 817b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/colord.c", 827b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/colormanager.c", 837b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/dither.c", 847b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-bmp.c", 857b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-colorspace.c", 867b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-gif.c", 877b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-jpeg.c", 887b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-photocd.c", 897b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-pix.c", 907b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-png.c", 917b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-pnm.c", 927b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-sgi.c", 937b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-sgilib.c", 947b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-sun.c", 957b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-tiff.c", 967b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image-zoom.c", 977b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/image.c", 987b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/ipp.c", 997b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/lut.c", 1007b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/pack.c", 1017b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/pdftoippprinter.c", 1027b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/ppdgenerator.c", 1037b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/raster.c", 1047b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/rgb.c", 1057b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/cupsfilters/srgb.c", 1067b66cf61Sopenharmony_ci ] 1077b66cf61Sopenharmony_ci 1087b66cf61Sopenharmony_ci public_configs = [ ":cups_filters_config" ] 1097b66cf61Sopenharmony_ci 1107b66cf61Sopenharmony_ci deps = [ 1117b66cf61Sopenharmony_ci ":cupsfilters_action", 1127b66cf61Sopenharmony_ci "//third_party/cups:cups", 1137b66cf61Sopenharmony_ci "//third_party/libjpeg-turbo:turbojpeg", 1147b66cf61Sopenharmony_ci "//third_party/libpng:libpng", 1157b66cf61Sopenharmony_ci "//third_party/zlib:libz", 1167b66cf61Sopenharmony_ci ] 1177b66cf61Sopenharmony_ci 1187b66cf61Sopenharmony_ci install_enable = true 1197b66cf61Sopenharmony_ci subsystem_name = "$SUBSYSTEM_NAME" 1207b66cf61Sopenharmony_ci part_name = "$PART_NAME" 1217b66cf61Sopenharmony_ci} 1227b66cf61Sopenharmony_ci 1237b66cf61Sopenharmony_ciohos_executable("imagetoraster") { 1247b66cf61Sopenharmony_ci sources = [ 1257b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/filter/common.c", 1267b66cf61Sopenharmony_ci "$CUPS_FILTERS_CODE_DIR/filter/imagetoraster.c", 1277b66cf61Sopenharmony_ci ] 1287b66cf61Sopenharmony_ci 1297b66cf61Sopenharmony_ci deps = [ 1307b66cf61Sopenharmony_ci "//third_party/cups:cups", 1317b66cf61Sopenharmony_ci "//third_party/cups-filters:cupsfilters", 1327b66cf61Sopenharmony_ci ] 1337b66cf61Sopenharmony_ci 1347b66cf61Sopenharmony_ci public_configs = [ ":cups_filters_config" ] 1357b66cf61Sopenharmony_ci 1367b66cf61Sopenharmony_ci module_install_dir = "$cups_serverbin_dir/filter" 1377b66cf61Sopenharmony_ci install_enable = true 1387b66cf61Sopenharmony_ci subsystem_name = "$SUBSYSTEM_NAME" 1397b66cf61Sopenharmony_ci part_name = "$PART_NAME" 1407b66cf61Sopenharmony_ci} 1417b66cf61Sopenharmony_ci 1427b66cf61Sopenharmony_ciohos_prebuilt_etc("cupsfilters.convs") { 1437b66cf61Sopenharmony_ci source = "${target_gen_dir}/cupsfilters.convs" 1447b66cf61Sopenharmony_ci deps = [ ":cupsfilters_action" ] 1457b66cf61Sopenharmony_ci relative_install_dir = "cups/share/mime" 1467b66cf61Sopenharmony_ci subsystem_name = "$SUBSYSTEM_NAME" 1477b66cf61Sopenharmony_ci part_name = "$PART_NAME" 1487b66cf61Sopenharmony_ci} 1497b66cf61Sopenharmony_ci 1507b66cf61Sopenharmony_ciohos_prebuilt_etc("cupsfilters.types") { 1517b66cf61Sopenharmony_ci source = "mime/cupsfilters.types" 1527b66cf61Sopenharmony_ci deps = [ ":cupsfilters_action" ] 1537b66cf61Sopenharmony_ci relative_install_dir = "cups/share/mime" 1547b66cf61Sopenharmony_ci subsystem_name = "$SUBSYSTEM_NAME" 1557b66cf61Sopenharmony_ci part_name = "$PART_NAME" 1567b66cf61Sopenharmony_ci} 157