[{"id":1494,"web_url":"https://patchwork.libcamera.org/comment/1494/","msgid":"<17be5aa0-6b49-0e8f-e7e9-4336a0384819@micronovasrl.com>","date":"2019-04-23T16:06:50","subject":"Re: [libcamera-devel] [PATCH] meson: fix build when sys/auxv.h and\n\tgetauxval() are not present","submitter":{"id":16,"url":"https://patchwork.libcamera.org/api/people/16/","name":"Giulio Benetti","email":"giulio.benetti@micronovasrl.com"},"content":"Hello,\n\nIl 23/04/2019 18:04, Giulio Benetti ha scritto:\n> On some libc sys/auxv.h could not be present and getauxval() too.\n> This way build will fail.\n> \n> Check in meson if they are present and add HAVE_SYS_AUXV_H and\n> HAVE_GETAUXVAL defines to cxx arguments.\n> Add #ifdef HAVE_ statements around #include <sys/auxv.h> and getauxval()\n> in utils.cpp.\n> \n> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>\n> ---\n>   meson.build             | 12 ++++++++++++\n>   src/libcamera/utils.cpp |  4 ++++\n>   2 files changed, 16 insertions(+)\n> \n> diff --git a/meson.build b/meson.build\n> index 6e68c3e..72a3652 100644\n> --- a/meson.build\n> +++ b/meson.build\n> @@ -20,6 +20,18 @@ common_arguments = [\n>   c_arguments = common_arguments\n>   cpp_arguments = common_arguments\n>   \n> +cxx = meson.get_compiler('cpp')\n> +\n> +# check for header sys/auxv.h\n> +if cxx.has_header('sys/auxv.h')\n> +  cpp_arguments += ['-DHAVE_SYS_AUXV_H']\n> +endif\n> +\n> +# check for function getauxval()\n> +if cxx.has_function('getauxval')\n> +  cpp_arguments += ['-DHAVE_GETAUXVAL']\n> +endif\n> +\n>   add_project_arguments(c_arguments, language: 'c')\n>   add_project_arguments(cpp_arguments, language: 'cpp')\n>   \n> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n> index 66123b1..ae574ab 100644\n> --- a/src/libcamera/utils.cpp\n> +++ b/src/libcamera/utils.cpp\n> @@ -8,7 +8,9 @@\n>   #include \"utils.h\"\n>   \n>   #include <string.h>\n> +#ifdef HAVE_SYS_AUXV_H\n>   #include <sys/auxv.h>\n> +#endif\n>   \n>   /**\n>    * \\file utils.h\n> @@ -57,8 +59,10 @@ const char *basename(const char *path)\n>    */\n>   char *secure_getenv(const char *name)\n>   {\n> +#ifdef HAVE_GETAUXVAL\n>   \tif (getauxval(AT_SECURE))\n>   \t\treturn NULL;\n> +#endif\n>   \n>   \treturn getenv(name);\n>   }\n> \n\nSorry for the noise, I thought the previous patch was discarded since I \nwas not subscribed to ML.\n\nBest regards","headers":{"Return-Path":"<giulio.benetti@micronovasrl.com>","Received":["from mail.micronovasrl.com (mail.micronovasrl.com [212.103.203.10])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8AED760004\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Apr 2019 18:06:50 +0200 (CEST)","from mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1])\n\tby mail.micronovasrl.com (Postfix) with ESMTP id 3CEB4B00C38\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Apr 2019 18:06:50 +0200 (CEST)","from mail.micronovasrl.com ([127.0.0.1])\n\tby mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1])\n\t(amavisd-new, port 10026)\n\twith ESMTP id C-vu749yFyCO for <libcamera-devel@lists.libcamera.org>; \n\tTue, 23 Apr 2019 18:06:49 +0200 (CEST)","from [192.168.2.109] (88-149-228-83.v4.ngi.it [88.149.228.83])\n\tby mail.micronovasrl.com (Postfix) with ESMTPSA id 69C6AB00AA1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Apr 2019 18:06:49 +0200 (CEST)"],"Authentication-Results":"mail.micronovasrl.com (amavisd-new); dkim=pass\n\treason=\"pass (just generated, assumed good)\" header.d=micronovasrl.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=micronovasrl.com;\n\th=content-transfer-encoding:content-language:content-type\n\t:content-type:in-reply-to:mime-version:user-agent:date:date\n\t:message-id:from:from:references:to:subject:subject; s=dkim; t=\n\t1556035609; x=1556899610; bh=C82UkCsX4B5wLegNYokcCNdFuUzin96jux/\n\td6cmwSJE=; b=TPSS2boi+gwVkGO9XysyuUiIg542t6etSyPruotagpiJ1L9arrX\n\t7qxPc1ytrM1Odfy00egqApNBZeHwfXxyh6j5gbei16VANjnhU9gQ/HqlFkgXkMtb\n\tHJAc2L9SaNMwaxxnFJ5aU+bF4Mi3it8aIR4YKptTOmbSMNrwvc3SjQaU=","X-Virus-Scanned":"Debian amavisd-new at mail.micronovasrl.com","X-Spam-Flag":"NO","X-Spam-Score":"-2.899","X-Spam-Level":"","X-Spam-Status":"No, score=-2.899 tagged_above=-10 required=4.5\n\ttests=[ALL_TRUSTED=-1, BAYES_00=-1.9, LOTS_OF_MONEY=0.001]\n\tautolearn=ham autolearn_force=no","To":"libcamera-devel@lists.libcamera.org","References":"<20190423160448.116834-1-giulio.benetti@micronovasrl.com>","From":"Giulio Benetti <giulio.benetti@micronovasrl.com>","Message-ID":"<17be5aa0-6b49-0e8f-e7e9-4336a0384819@micronovasrl.com>","Date":"Tue, 23 Apr 2019 18:06:50 +0200","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101\n\tThunderbird/60.6.1","MIME-Version":"1.0","In-Reply-To":"<20190423160448.116834-1-giulio.benetti@micronovasrl.com>","Content-Type":"text/plain; charset=iso-8859-15; format=flowed","Content-Language":"it","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH] meson: fix build when sys/auxv.h and\n\tgetauxval() are not present","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 23 Apr 2019 16:06:50 -0000"}}]