From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2102.outbound.protection.outlook.com [40.107.92.102]) by sourceware.org (Postfix) with ESMTPS id 266BF383E80F for ; Mon, 25 May 2020 15:04:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 266BF383E80F ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SiAjuJI2pw77uDRrRnD6kkfU8VxrTJu+lKJQafFxlSJis/4gE1HnbnFLUZ2GtF+8X0IbxpajB9GXtOvPW210dzcVkSxBcUluehu/UqfJC/pBX2Pr+9eGitEWPh06xUGrp1UsFRKYPX2cLUtJq1XR823/4q+0ijIahTpz7z2FtbiSXs9D1My/2ZBSMHuQ5xmNDbvqBoPAVj8HqgcKZHu0MSmYrFhQcVzdpgtQiKl5D10KPMTimGgFmFKWFxvqWvcMfiHc8Znv58J5uEmdGFglolIJCiWUMdi2iq6rfSGIKFBMoFDXI+Js9WMkAC6wQqlnZBA5TIJ2Pbt2fAdVccOIQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FY6CigZeHdEw9bgXIMto6aeyxFpjcpkltbxLO5VV29Q=; b=Zug/6no6akjRtsazXWqMpHCWMmlpGbjBiHqnKzOFIMvj2QM7j74fLW1b/M8RVa5L/KhsiYZM6SqFUucbcpCW8vpc0KajmYvsEFzqreN1XZiVNfbWXdQVlp+ADMLMO88Hcxkhaa0COZHrvSl7R2aIIJgRv6hX3JqLujR1SxuLaykOeR5IevQpqxukq6ATDEuVEgCZIpII1qyUKSr7gWVugeUVnW0gFyzC023wTMVDNuqs5zxnUkAIjPAhAQKSp0dzxWauK184lKz2aO+jjI5Eyfl97TnkowDtv/BoynyV/eWiXMb3keiSevMAi8PE9d2LBFLbsVn1zKzVhm1tJte2Tg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none Received: from DM6PR04MB6075.namprd04.prod.outlook.com (2603:10b6:5:127::31) by DM6PR04MB5321.namprd04.prod.outlook.com (2603:10b6:5:109::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.27; Mon, 25 May 2020 15:04:18 +0000 Received: from DM6PR04MB6075.namprd04.prod.outlook.com ([fe80::f48b:4e13:94d7:f7c4]) by DM6PR04MB6075.namprd04.prod.outlook.com ([fe80::f48b:4e13:94d7:f7c4%4]) with mapi id 15.20.3021.029; Mon, 25 May 2020 15:04:18 +0000 Subject: Re: Help needed with gobject-introspection To: cygwin-apps@cygwin.com References: <2c0802e9-e66c-768e-61f2-f2797acc1acb@cornell.edu> <78ad982d-8cab-323d-8bc5-682f3f2bc11f@cornell.edu> <7837c562-f96c-3084-40f8-1a52afcebdf5@dronecode.org.uk> <429779d8-dc38-2f75-bd3e-42f898941483@cornell.edu> <6703fe25-ba53-68c7-c398-843b2a8295dc@dronecode.org.uk> <93b48fc8-61f9-ce33-ac76-0e6cc56aa18c@dronecode.org.uk> <890259a6-13b1-6986-55cb-d3d3e3b1b98e@cornell.edu> From: Ken Brown Message-ID: Date: Mon, 25 May 2020 11:04:14 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 In-Reply-To: <890259a6-13b1-6986-55cb-d3d3e3b1b98e@cornell.edu> Content-Type: multipart/mixed; boundary="------------BA10D04801FCF70F59BEDE9B" Content-Language: en-US X-ClientProxiedBy: MN2PR08CA0029.namprd08.prod.outlook.com (2603:10b6:208:239::34) To DM6PR04MB6075.namprd04.prod.outlook.com (2603:10b6:5:127::31) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.0.17] (68.175.129.7) by MN2PR08CA0029.namprd08.prod.outlook.com (2603:10b6:208:239::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.27 via Frontend Transport; Mon, 25 May 2020 15:04:18 +0000 X-Originating-IP: [68.175.129.7] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83b43ddb-2b6d-4693-ea8c-08d800bce5ed X-MS-TrafficTypeDiagnostic: DM6PR04MB5321: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-Forefront-PRVS: 0414DF926F X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gfZrn1mmCgJiVLYwfFwX+4OHkX9rsDy8d82OIS+sGEE8+VL/mj3icmXwrzZV8e2G4cL8gvShs7HJfGRrRrg1ngX/ZWrJCp80eMLhsadmHMIxLEkw/1keC5TWJ0k3RTTi/16kemqqnnJoY3GTWnR0SiiQDxUDMxgq9Nf68AhBl4z5Zcg1r88t+//PALz77UL28lsoHsRypsM7ztLSbQ3NH8EoXdlP+aK9wLqn/m8sfy1ITdLqU1ng0mWXjZ+7jA9I1a0+BV2vjs2VgSepYw/LDhrQks3iQSVo90QXn64wX6FVm9Zl4YVvXLZnkDCGLWqnCCXt563c9gHprS4peafkPvzHHymjhOti0q9/IiJJ/+KF71ned6+xLY2U5CR/qBDK3d2bPZz2iuUlUaC7MkEbPaIiY+xOu+phZ+4WziWNfnxpV6t3OKkUoUdA6fGmJoN+1UDtGxG/WUPBLPLxSkddjqbOUkPDAXw9cCu4gpEmrWE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR04MB6075.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(346002)(396003)(376002)(39860400002)(366004)(31696002)(2906002)(86362001)(16576012)(36756003)(316002)(786003)(66616009)(66476007)(478600001)(26005)(966005)(8936002)(52116002)(66946007)(66556008)(53546011)(235185007)(30864003)(5660300002)(33964004)(6666004)(186003)(8676002)(31686004)(75432002)(16526019)(956004)(2616005)(6916009)(6486002)(43740500002)(460985005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: t9rBwXycYbBfuFNb2HPbsfxkZGoiDh4MZDpq8claI1tvEQ/5KXGWdnpisf3ireeE/uLDzCeErCHx5clMdr9sK8CeuQZchlB3yg2f/wYpGclGOXhg6ZN67bpbouGSthBbpVescZIqFMUvJ0YkaABmP12/h1XZw59ZagzbaAy/VAaBVxu63Q508xd78xJbpikP6RgRbSRnqndFHh0L/vfanS5q4TkktKZZnW7qU7qOQok/DF4/2jUgU4es1rP8Ci57oBjFTK6GYcxf4MUWIOut9d4YushGWO+5zrX+VTQILvrXa9EVWQlV8EdlmDrJL8butXwkOuqhfKhZw4THwlXQRPc7G+g8HriiOs7vK7cElspiosTwwWmukrH1tiwoIkYamyMB4XKyfawZMIGsFZBRVvbtdU13gpZx3zbbZnpFoByHLcOEtMsoEKsSeOqwD3qJD1EX0++gJcU3sJdf8VlO8zdfYjLdYknQmXNqy84Kiro= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 83b43ddb-2b6d-4693-ea8c-08d800bce5ed X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2020 15:04:18.5960 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zh7Fz0DkA0kgK/wEw64P/0PazBfarM8hjMHsWfAg30oE35JQ9hQ4GLrQI2EGCXgDonmpZk7wzbK6/CBMGOkLsg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR04MB5321 X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_INVALID, DKIM_SIGNED, KAM_DMARC_STATUS, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 May 2020 15:04:22 -0000 --------------BA10D04801FCF70F59BEDE9B Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit On 5/24/2020 1:00 PM, Ken Brown via Cygwin-apps wrote: > On 5/24/2020 12:45 PM, Ken Brown via Cygwin-apps wrote: >> On 5/24/2020 11:56 AM, Jon Turney wrote: >>> On 21/05/2020 18:07, Ken Brown via Cygwin-apps wrote: >>>> On 5/21/2020 11:48 AM, Jon Turney wrote: >>>>> On 21/05/2020 16:13, Ken Brown via Cygwin-apps wrote: >>>>>> On 5/21/2020 9:24 AM, Jon Turney wrote: >>>>>>> On 20/05/2020 15:50, Ken Brown via Cygwin-apps wrote: >>>>>>>> On 5/19/2020 7:04 PM, Ken Brown via Cygwin-apps wrote: >>>>>>>>> I would like to adopt gimp and related packages.  At the moment I'm >>>>>>>>> having trouble with babl, which is needed for gegl0.4, which is needed >>>>>>>>> for gimp. The problem involves gobject-introspection. >>>>>>>>> >>>>>>>>> If I disable introspection, the build works fine.  This would be OK, >>>>>>>>> since babl has been built without introspection for several years. But >>>>>>>>> then the gegl0.4 build complains about the missing babl introspection >>>>>>>>> files, so I would have to disable introspection there too, which hasn't >>>>>>>>> been done in the past. >>>>>>>>> >>>>>>>>> So my preference is to figure out what the problem is and get the babl >>>>>>>>> build working with introspection.  I'm attaching my cygport file and >>>>>>>>> patch. >>>>>>>>> >>>>>>>>> Here's the failing command... >>>>>>>>> >>>>>>>>> /usr/bin/g-ir-scanner -I/usr/include/gobject-introspection-1.0 >>>>>>>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT >>>>>>>>> --no-libtool --namespace=Babl --nsversion=0.1 --warn-all --output >>>>>>>>> babl/Babl-0.1.gir --c-include=babl.h >>>>>>>>> '--identifier-filter-cmd=/usr/bin/python3 >>>>>>>>> /tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/babl/identfilter.py' >>>>>>>>> -DBABL_IS_BEING_COMPILED >>>>>>>>> -I/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/babl >>>>>>>>> -I/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl >>>>>>>>> -I./. -I../. -I./babl/base/. -I../babl/base/. >>>>>>>>> --filelist=/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl/4170c83@@babl-0.1@sha/Babl_0.1_gir_filelist >>>>>>>>> --cflags-begin -fno-unsafe-math-optimizations >>>>>>>>> -Wdeclaration-after-statement -Winit-self -Wmissing-declarations >>>>>>>>> -Wmissing-prototypes -Wold-style-definition -Wpointer-arith -mmmx -msse >>>>>>>>> -mfpmath=sse -I./. -I../. -I./babl/base/. -I../babl/base/. --cflags-end >>>>>>>>> --library babl-0.1 >>>>>>>>> -L/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl >>>>>>>>> --extra-library=m --extra-library=dl --extra-library=lcms2 >>>>>>>>> >>>>>>>>> ...and the error message: >>>>>>>>> >>>>>>>>> g-ir-scanner: link: gcc -o >>>>>>>>> /tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/tmp-introspectCwCaUc/Babl-0.1.exe >>>>>>>>> -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >>>>>>>>> -fstack-protector-strong --param=ssp-buffer-size=4 >>>>>>>>> -fdebug-prefix-map=/tmp/cygbabl/babl-0.1.74-1.x86_64/build=/usr/src/debug/babl-0.1.74-1 >>>>>>>>> -fdebug-prefix-map=/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74=/usr/src/debug/babl-0.1.74-1 >>>>>>>>> /tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/tmp-introspectCwCaUc/Babl-0.1.o >>>>>>>>> -L. -lbabl-0.1 -lm -ldl -llcms2 >>>>>>>>> -L/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl >>>>>>>>> -Wl,-rpath,/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl >>>>>>>>> -lgio-2.0 -lgobject-2.0 -Wl,--export-all-symbols -lgmodule-2.0 >>>>>>>>> -lglib-2.0 -lintl >>>>>>>>> ERROR: can't resolve libraries to shared libraries: babl-0.1 >>>>>>>>> >>>>>>>>> I don't understand the error message, because the command line contains >>>>>>>>> >>>>>>>>> -L/tmp/cygbabl/babl-0.1.74-1.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/babl >>>>>>>>> >>>>>>>>> and that directory contains libbabl-0.1.dll.a and cygbabl-0.1-0.dll. I >>>>>>>>> even tried adding that directory to my PATH to make sure the right >>>>>>>>> cygbabl-0.1-0.dll would be found, but that didn't help. >>>>>>> >>>>>>> This might possibly be related to the problem described in the comment for: >>>>>>> >>>>>>> https://github.com/mesonbuild/meson/pull/2880/commits/8a27c08b05e4537d5061d30ddd8aad9dc52cf1c4 >>> >>> >>> >>> >>> Yeah, this looks extremely plausible, there seem to be no GObject derived >>> types in babl's interface. >>> >>> It might be possible to work around this by patching in a dummy GObject >>> derived type which does nothing. >>> >>> I'll have to see if I can find my notes about how I debugged this before. >>> >>>>>>>> By the way, in case you're wondering why I disabled the building of >>>>>>>> docs, it's because I was getting a build failure there too.  I don't >>>>>>>> know if this is related to the introspection failure.  The failing >>>>>>>> command there is >>>>>>>> >>>>>>>> /usr/bin/meson --internal exe --unpickle >>>>>>>> /tmp/cygbabl/babl-0.1.74-2.x86_64/src/babl-0.1.74/x86_64-pc-cygwin/meson-private/meson_exe_env_7bf39b99114d34540b83d26a5d8f097e05882836.dat >>>>>>>> >>>>>>>> cp: target 'docs/index.html.tmp' is not a directory >>>>>>>> >>>>>>>> I don't know why it's not showing me the actual cp command that fails. >>>>>>> >>>>>>> I believe it's is an infelicity in meson that it doesn't echo the actual >>>>>>> failing command here. >>>>>>> >>>>>>> Noted here: >>>>>>> https://github.com/mesonbuild/meson/pull/3716#issuecomment-395746838 >>>>>>> >>>>>>>> The corresponding information in docs/meson.build is >>>>>>>> >>>>>>>> Reference_html = custom_target('Reference.html', >>>>>>>>    input : [ >>>>>>>>      'Reference-static.html', >>>>>>>>      'toc', >>>>>>>>      index_html_tmp, >>>>>>>>    ], >>>>>>>>    output: [ 'Reference.html', ], >>>>>>>>    command: [ >>>>>>>>      env_bin, >>>>>>>>      'cp', '@INPUT0@', '@OUTPUT@', >>>>>>>>      '&&', xml_insert, '@OUTPUT@', 'TOC', '@INPUT1@', >>>>>>>>      '&&', xml_insert, '@OUTPUT@', 'BablBase', '@INPUT2@', >>>>>>>>    ], >>>>>>>>    build_by_default: true, >>>>>>>> ) >>>>>>>> >>>>>>>> There are several such custom targets in the file, and for all except >>>>>>>> this one, I see the actual cp command in the log.  This is the only one >>>>>>>> for which meson generates a 'meson --unpickle' command instead of a cp >>>>>>>> command. >>>>>>> >>>>>>> Yeah, I wasn't expecting it to use this method of executing the command >>>>>>> line (storing it in a pickle and then using a python wrapper to execute >>>>>>> it) to be used except on Windows, so I'll have to take a more detailed >>>>>>> look at why that's happening. >>> >>> So, it's correct that it runs this command indirectly via the pickle, because >>> it needs to interpose itself to do some PATH manipulation to add the DLL, >>> because this target has the 'babl-html-dump' tool, which is linked with the >>> DLL, in it's input (indirectly). >>> >>>>>> Thanks.  FWIW, the recipe for building docs/Reference.html translates to >>>>>> >>>>>>    /usr/bin/env \ >>>>>>       cp ../docs/Reference-static.html docs/Reference.html \ >>>>>>        && ../docs/tools/xml_insert.sh docs/Reference.html TOC ../docs/toc \ >>>>>>        && ../docs/tools/xml_insert.sh \ >>>>>>           docs/Reference.html BablBase docs/index.html.tmp >>>>>> >>>>>> This succeeds when run manually in the build directory.  So something must >>>>>> have gone wrong in the pickling/unpickling process. >>>>> >>>>> >>>>> patching /usr/lib/python3.6/site-packages/mesonbuild/scripts/meson_exe.py >>>>> something like this might shed some light: >>>>> >>>>> --- meson_exe.py.bak    2020-05-21 15:01:19.187046500 +0100 >>>>> +++ meson_exe.py        2020-05-21 15:09:29.485915300 +0100 >>>>> @@ -57,6 +57,8 @@ >>>>>                   ['Z:' + p for p in exe.extra_paths] + >>>>> child_env.get('WINEPATH', '').split(';') >>>>>               ) >>>>> >>>>> +    print(cmd_args) >>>>> + >>>>>       p = subprocess.Popen(cmd_args, env=child_env, cwd=exe.workdir, >>>>>                            close_fds=False, >>>>>                            stdout=subprocess.PIPE, >>>> >>>> OK, now the log shows >>>> >>>> cp: target 'docs/index.html.tmp' is not a directory >>>> ['/usr/bin/env', 'cp', '../docs/Reference-static.html', >>>> 'docs/Reference.html', '&&', >>>> '/home/kbrown/src/cygpackages/babl/babl-0.1.74-1.x86_64/src/babl-0.1.74/docs/tools/xml_insert.sh', >>>> 'docs/Reference.html', 'TOC', '../docs/toc', '&&', >>>> '/home/kbrown/src/cygpackages/babl/babl-0.1.74-1.x86_64/src/babl-0.1.74/docs/tools/xml_insert.sh', >>>> 'docs/Reference.html', 'BablBase', 'docs/index.html.tmp'] >>>> >>>> This does indeed shed some light.  If I remove all the commas but leave the >>>> single quotes, the command fails with the same error message as before: >>>> >>>> cp: target 'docs/index.html.tmp' is not a directory >>>> >>>> If I also remove the single quotes, the command succeeds.  I think the >>>> problem is the quotes around the double ampersands, so they are treated as >>>> arguments to the cp command instead of being interpreted by the shell >>>> executing the command. >>> >>> So, yeah, this is a meson bug, which I will work on (if this command ends up >>> in the build.ninja, it's executed by ninja with 'sh -c', but if it ends up in >>> a pickle, it's executed by meson with execve()) >> >> Yes, that does seem like a meson bug.  But is it also a babl bug to some >> extent?   When babl puts '&&' in a command argument, it's assuming that the >> command will be executed by 'sh -c'. >> >> I have very little experience with meson.  Have you ever seen this issue in >> other projects that use meson? > > I just noticed this, at https://mesonbuild.com/Custom-build-targets.html : > >   Meson only permits you to specify one command to run. This is >   by design as writing shell pipelines into build definition >   files leads to code that is very hard to maintain. If your >   compilation requires multiple steps you need to write a wrapper >   script that does all the necessary work. > > We're not talking about a shell pipeline here, but it's similar.  So I'm > thinking this really is a babl bug. Regardless of whose bug it is, I've got a simple but ugly workaround (attached), now that you've explained to me what's going on. Ken --------------BA10D04801FCF70F59BEDE9B Content-Type: text/plain; charset=UTF-8; name="0.1.74-docs.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0.1.74-docs.patch" --- origsrc/babl-0.1.74/docs/meson.build 2020-01-12 18:26:51.000000000 -0500 +++ src/babl-0.1.74/docs/meson.build 2020-05-24 22:10:24.081359400 -0400 @@ -54,22 +54,26 @@ index_html = custom_target('index.html', build_by_default: true, ) -Reference_html = custom_target('Reference.html', +Reference_html_tmp = custom_target('Reference.html.tmp', input : [ 'Reference-static.html', 'toc', - index_html_tmp, ], - output: [ 'Reference.html', ], + output: [ 'Reference.html.tmp', ], command: [ env_bin, 'cp', '@INPUT0@', '@OUTPUT@', '&&', xml_insert, '@OUTPUT@', 'TOC', '@INPUT1@', - '&&', xml_insert, '@OUTPUT@', 'BablBase', '@INPUT2@', ], - build_by_default: true, ) +Reference_html = custom_target('Reference.html', + input : [ Reference_html_tmp, index_html_tmp, ], + output: [ 'Reference.html', ], + command: [ xml_insert, '@INPUT0@', 'BablBase', '@INPUT1@', 'cat_result' ], + build_by_default: true, + capture: true, +) CMYK_html = custom_target('CMYK.html', input : [ --- origsrc/babl-0.1.74/docs/tools/xml_insert.sh 2020-01-12 18:26:51.000000000 -0500 +++ src/babl-0.1.74/docs/tools/xml_insert.sh 2020-05-25 07:54:31.875472500 -0400 @@ -7,6 +7,9 @@ # # xml_insert.sh bar.xml foo foo.inc # +# If there's a fourth argument, cat the final result. +# +# # 2005 © Øyvind KolÃ¥s # # FIXME: add argument checking / error handling @@ -97,6 +100,9 @@ tailno=`expr $numlines - $splitno` head -$splitno $tmp_file > $1 cat $3 >> $1 tail -$tailno $tmp_file >> $1 +if test -n "$4"; then + cat $1 +fi rm -rf $tmp_dir --------------BA10D04801FCF70F59BEDE9B--