From owner-freebsd-arm@freebsd.org Fri Oct 27 06:23:31 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C84CCE5D215; Fri, 27 Oct 2017 06:23:31 +0000 (UTC) (envelope-from eddy.petrisor@gmail.com) Received: from mail-wr0-x235.google.com (mail-wr0-x235.google.com [IPv6:2a00:1450:400c:c0c::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 606C57D5A4; Fri, 27 Oct 2017 06:23:31 +0000 (UTC) (envelope-from eddy.petrisor@gmail.com) Received: by mail-wr0-x235.google.com with SMTP id r79so5159864wrb.13; Thu, 26 Oct 2017 23:23:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=rKwo2TBsUoMdMiyC6Q1LiaE5m1I+8pszWjLAGLtc1SA=; b=Ln1obPrHc6LLvwzvRtg/DekDXNkGGM88qoW9MRniMq+ywzGYYaemt7i/Eo31rJ4Uyx O4ihRwAM6rm/v97BLo5uHUPuoXQSP2jlkrxvQmJ7+7j8N8FB3z6+s70lpkz5cK/l0SUm fQo6OZuYGWjUAjE30dBnuR4XuQV/wnrbHde9tISuGdrxbJkbR/S7qUgslDtCofJ1l/Ds SWSLbRkxunWrH9LPUzc3XMmbkHcblZxyP/K6TK+ePoCTGVZRPp9tlC1e+MpdTkUIPmwc y5D0YLXKZpz+vSc0Ff0QyrtZyC2/n+9cVad95OeZW7OPgPxUy7dpk3M81n7pHnGZTroc N66A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=rKwo2TBsUoMdMiyC6Q1LiaE5m1I+8pszWjLAGLtc1SA=; b=HO/z40kVxcwST2eFpFr8rMqZVVTurrmlBJyse/WF9GByjgEIWwDlne8DODtH7yaxL7 9/ltwQRVI3ecu91J23gNcX5NlXi86z+43u4BYhpQHcxBUxHIGINgGr0Gs3UH7OQiWs6S IDco+DGexBIGB3iEzG0rNbZY1+21eEaeuCnjlvxSmkYszo2e2uPlyaz1+LkRctvHQRtT eRLWoR8L+w1IdYsx3G31J1INpitIym2dpheKA3va22x3QiBJUBP3ozH0G17LULyVZ9zi Nt3YUB+3fNfE57sU+yG+jPPP1lFAsRZKcn7BdLV4bkC+q9lhgOGa02P1i0kENih5foSS Fpkw== X-Gm-Message-State: AMCzsaUx1uZCePkgU3Qc9DVG29I7TeJRFJPRJQyNeMJSZsOAQ92cMaOu Lol6Sx1oqN3gC9lniiXu1MQRaf5z1fXo5hGKHW+AFnuw X-Google-Smtp-Source: ABhQp+Q6uSVJ13d+EXAP/N1INvDB5eFiB32AgiDtCrwuwAMpi45MTki97aW0FMANEf2B6OZm9h+XSVD54OsJEgOzZiE= X-Received: by 10.223.176.14 with SMTP id f14mr7030451wra.129.1509085409639; Thu, 26 Oct 2017 23:23:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.173.129 with HTTP; Thu, 26 Oct 2017 23:23:29 -0700 (PDT) From: =?UTF-8?Q?Eddy_Petri=C8=99or?= Date: Fri, 27 Oct 2017 09:23:29 +0300 Message-ID: Subject: lib/clan/llvm.build.mk: Shouldn't BUILD_TRIPLE definition rely host 'cc -dumpmachine'? To: freebsd-toolchain@freebsd.org, freebsd-arm@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Oct 2017 06:23:31 -0000 Hello, I am trying to make the FreeBSD code base build from a Linux host and found this bit which defines BUILD_TRIPLE in a way which to my untrained eyes look like overengineering. .if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} =3D= =3D "") TARGET_ABI=3D -gnueabihf .elif ${TARGET_ARCH:Marm*} TARGET_ABI=3D -gnueabi .else TARGET_ABI=3D .endif VENDOR=3D unknown OS_VERSION=3D freebsd12.0 TARGET_TRIPLE?=3D ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}${TA= RGET_ABI} BUILD_TRIPLE?=3D ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION} To support a Linux host I made these changes that is using 'cc -dumpmachine' to get the correct BUILD_TRIPLE, but I am wondering if it shouldn't be OK for building on a FreeBSD host .if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} =3D= =3D "") TARGET_ABI=3D -gnueabihf .elif ${TARGET_ARCH:Marm*} TARGET_ABI=3D -gnueabi .else TARGET_ABI=3D .endif VENDOR=3D unknown OS_VERSION=3D freebsd12.0 +BUILD_OS!=3D uname -s + TARGET_TRIPLE?=3D ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}${TA= RGET_ABI} +.if ${BUILD_OS} =3D=3D FreeBSD BUILD_TRIPLE?=3D ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION} +.else +HOST_CC_DUMPMACHINE!=3D cc -dumpmachine +BUILD_TRIPLE?=3D ${HOST_CC_DUMPMACHINE} +.endif What do you think, should the code be instead: .if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} =3D= =3D "") TARGET_ABI=3D -gnueabihf .elif ${TARGET_ARCH:Marm*} TARGET_ABI=3D -gnueabi .else TARGET_ABI=3D .endif VENDOR=3D unknown OS_VERSION=3D freebsd12.0 TARGET_TRIPLE?=3D ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}${TA= RGET_ABI} +HOST_CC_DUMPMACHINE!=3D cc -dumpmachine +BUILD_TRIPLE?=3D ${HOST_CC_DUMPMACHINE} --=20 Eddy Petri=C8=99or