[{"id":1950,"web_url":"https://patchwork.libcamera.org/comment/1950/","msgid":"<20190619154438.GC4416@bigcity.dyn.berto.se>","date":"2019-06-19T15:44:38","subject":"Re: [libcamera-devel] [PATCH] meson: Link against libc++ with\n\tcompiling with clang","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your patch.\n\nOn 2019-06-19 18:06:36 +0300, Laurent Pinchart wrote:\n> libc++ is used by Chrome OS, and likely as well by other environments\n> based on clang. Using it by default if available when compiling with\n> clang will help extending the compile-testing coverage. The drawback is\n> that issues specific to clang with libstdc++ will not be caught as\n> easily, but based on the experience with clang so far, code compiling\n> correctly with gcc/libstdc++ has failed with clang due to either\n> clang-specific or libc++-specific behaviour, never due only to the\n> combination of clang with libstdc++.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  meson.build | 9 +++++++++\n>  1 file changed, 9 insertions(+)\n> \n> diff --git a/meson.build b/meson.build\n> index 4d3e99d3e58f..64a26e896a24 100644\n> --- a/meson.build\n> +++ b/meson.build\n> @@ -28,8 +28,17 @@ common_arguments = [\n>  c_arguments = common_arguments\n>  cpp_arguments = common_arguments\n>  \n> +# Use libc++ by default if available instead of libstdc++ when compiling with\n> +# clang.\n> +if cc.get_id() == 'clang' and cc.find_library('libc++').found()\n> +    cpp_arguments += [\n> +        '-stdlib=libc++',\n> +    ]\n> +endif\n> +\n>  add_project_arguments(c_arguments, language : 'c')\n>  add_project_arguments(cpp_arguments, language : 'cpp')\n> +add_project_link_arguments(cpp_arguments, language : 'cpp')\n>  \n>  libcamera_includes = include_directories('include')\n>  \n> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-lj1-x243.google.com (mail-lj1-x243.google.com\n\t[IPv6:2a00:1450:4864:20::243])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E3181619FF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Jun 2019 17:44:39 +0200 (CEST)","by mail-lj1-x243.google.com with SMTP id h10so3782554ljg.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Jun 2019 08:44:39 -0700 (PDT)","from localhost (customer-145-14-112-32.stosn.net. [145.14.112.32])\n\tby smtp.gmail.com with ESMTPSA id\n\tn10sm2752308lfe.24.2019.06.19.08.44.38\n\t(version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256);\n\tWed, 19 Jun 2019 08:44:38 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to\n\t:user-agent; bh=4W48/PUxRaUS086/Jv9UO6Dh8YZghXfIqAq5Cynye7w=;\n\tb=xdAa9gxoHZyfs54yUa2KPU2gFUj6nV/9UsV6cBjp4gtOagz7MeAv7M9zbh1OgvrBfX\n\tSjUJFQf/6Z/SB5N40uqdwr57uSTaNIiILWRZ7kJ+DmjpCH4luosOQ2eUu1yECeIRWekV\n\tZDyciHCC4NR3rqoeFfi2WdHqC5XrFs/oNLFQwsnmq5hO4/yO9y61hUpjSZb55qD1w656\n\tpm2+f/HtwJANKK3EkMsJj5jZONvDhU9yxqdQlhXgnRuLpqLRIOlUTuvAcRvt7SDZyOnh\n\tc/teLKl2cExgfTRi4PCGzcpiuLgaSBPqmepAx1/SYaw7LWyZ8fesLugElPX3Mr83ZOpK\n\tuxKA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to:user-agent;\n\tbh=4W48/PUxRaUS086/Jv9UO6Dh8YZghXfIqAq5Cynye7w=;\n\tb=e4xgOkH28uV2DmBEDZEUBX7h4y3uRLEDqU7hBVcz92aW69qGsRT9D31WvZHjKsD0WF\n\tWnhqHh/kRYlzqOJ54X37y4sySmRnaZDM+l04kF0KU3HPLYwTkd5sEmh4fjDQeP0Ukr09\n\tNQ6Ef+wBqvNu2endYoCKGhca7sZCTMWugkvevTim57mQfnvlTg6vNmk3mhBvJTo2a1JD\n\tUjrwr6qfGhkykhfxxWIgMV3urDcqiDa4sFzIw/yUAdYiY477vdk+B8BO1X+lKN2+ZVBM\n\tnmSiViBc37bKugFMcvKX7MVmXw1QBs5dUtNz2y+oy1WrIK7h7jkHx8IDukhU3Gz6C6aE\n\tcFPA==","X-Gm-Message-State":"APjAAAWHHGGpyY6zOQDtzMBuCB1Lf8rrI/ORL7DhaQ2HGi/82BpNOUCu\n\taHun0nTgkJ0QuqCSNFMk7pBtSt4FOLM=","X-Google-Smtp-Source":"APXvYqwYJViMnop9B0fXiQdWX5eVsPvKaI90Ari3xtWBxqpRbLK/VfcWdb027zWfDMHGZLmVaktkDg==","X-Received":"by 2002:a2e:3101:: with SMTP id\n\tx1mr24038996ljx.148.1560959079403; \n\tWed, 19 Jun 2019 08:44:39 -0700 (PDT)","Date":"Wed, 19 Jun 2019 17:44:38 +0200","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190619154438.GC4416@bigcity.dyn.berto.se>","References":"<20190619150636.30172-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20190619150636.30172-1-laurent.pinchart@ideasonboard.com>","User-Agent":"Mutt/1.12.0 (2019-05-25)","Subject":"Re: [libcamera-devel] [PATCH] meson: Link against libc++ with\n\tcompiling with clang","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":"Wed, 19 Jun 2019 15:44:40 -0000"}}]