From owner-freebsd-ppc@freebsd.org Wed Aug 7 03:23:47 2019 Return-Path: Delivered-To: freebsd-ppc@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A6AF6BC5EA for ; Wed, 7 Aug 2019 03:23:47 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-21.consmr.mail.ne1.yahoo.com (sonic316-21.consmr.mail.ne1.yahoo.com [66.163.187.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 463H0L2xZFz48fm for ; Wed, 7 Aug 2019 03:23:46 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: aTAUme4VM1nQ95fDLHKReY8v92HrCgWrpUQ_marTkOWeQCSOgKYCaz6S4bL.v41 OCxQHtkNAi6HCYNJmYcLc7kunWVU_9g7cN5aPcrXcausEULyLQDaud.BtuOru5S_VZ10to0XU9b7 Gik5hNnkRrgKFck4GVJw2fR2dSy5OqADlf7.CVDDp5yeXSP3SOFGdChjELD5t1X3q11HdAOF5swY T4VCGb_B_wsKMiHziVV6viUT364k2KkPenIeJW8oooNpuqHpkdITQFQilLjnDqKCsMS.6mYkk0xt YcjS5ZWGco96yTef.smptZHaJIC5_2iwxaRZoS82Z332Y4KndT_kfgrDk9ds6.iTXSApwFghtrUP 3BsWXjLetH2AN.AHFEPBIeJ.8K98ZqUFbdjneBYAzPsiR3tTDQstDpfbGIGLc3JtjZ3LHeNZlyxj Ox0.Bf8ep_SJmlI02YS0EYM_nT83h_2u84owl2B0NR2X1XxBvUnSi.coYpJP9Qm2EMUCBDcg_H4s jbgqWnOthu0KKW77FXJS6GjpIIHtbD_2EFbM3Miw9a66CSBi3YC22oK5LcYV3SQzrC2AkrALe6nH hZu5hT1jv.KoNOtxaI8HU6GSW.H328ed2xA.AgSnsSn3bb8IkiqEwp.aGH0C41j7hEl.ACYqyi_o EXCRjzn3eoTiFEUOFa4VXDENw7jf3Bt2KtIuOGZ3KTGgJ0uVPJargitQIcwALltt5XhpRp8BoLzG zT3TikDtX6lSCWo0ptfa194JT0LOu..jarGpqKYqk8B2qwE69WAWXVm0RW5ZaTMpeIpFAT59FXhJ pyz6kVPYs4vKQj4pNqO7YDTDKkbpBBdAN2_6u1qn6lxiH9gcpTQtEOJCk_0VDe7FQPanqgNDJCF5 kPK918vJByi1cqHZAeyGSoefxHR_874IRudIU7fozj7g5dLFxI6jIieie44LZvAFZdT27WgNOi4W IQXePARnpXiycDTBQvEj.IuHcqa6Lm.y2cBl3KByiPCmoWGbgoD8L8qFd_hEA432yfUQ1zEuCzXM Xp0x_PTPqDsuKpHq8e6GIDHRLJ9KOioMc6JzjqixV3lUTNMfJy2RWpewRpydPOUS8O94CCfiSwRa r9hxU50E5t8w9cVwxH3B_rgIUBJ5pR1OsrUH5RAVYvezv8qd9aSPGHK2JBf8spUMWugJsJCTCBBH VJICV20JFG3PkGvv1Id3Kx3yCndVBjLLrzL2gDfz30n_aoBszpPfUu__pbcoq4Mjd9L5dCap0ZDZ njGg0Dl5MMb9M79Et6qEwuUmmIwA- Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.ne1.yahoo.com with HTTP; Wed, 7 Aug 2019 03:23:43 +0000 Received: by smtp409.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 48ea5dd116ef73e7948f30d4e969ff9a; Wed, 07 Aug 2019 03:23:41 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: devel/llvm90 requires math/z3 first; building math/z3 requires a c++ toolchain be in place From: Mark Millard In-Reply-To: <20190807020826.GH94703@spindle.one-eyed-alien.net> Date: Tue, 6 Aug 2019 20:23:39 -0700 Cc: freebsd-toolchain@freebsd.org, freebsd-ports@freebsd.org, freebsd-ppc@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <602EEB6C-D0B0-4EFB-AB0E-BE98FF1C4D90@yahoo.com> References: <8DB3EAA4-2B88-4180-8386-673524D27C64@yahoo.com> <20190806165525.GC94703@spindle.one-eyed-alien.net> <2A88AADC-8ED0-4FFD-85A8-34C0186D5D4F@yahoo.com> <20190807020826.GH94703@spindle.one-eyed-alien.net> To: Brooks Davis X-Mailer: Apple Mail (2.3445.104.11) X-Rspamd-Queue-Id: 463H0L2xZFz48fm X-Spamd-Bar: / X-Spamd-Result: default: False [-0.69 / 15.00]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36646, ipnet:66.163.184.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.40)[-0.395,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_SPAM_SHORT(0.57)[0.568,0]; NEURAL_HAM_LONG(-0.36)[-0.359,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (4.59), ipnet: 66.163.184.0/21(1.27), asn: 36646(1.02), country: US(-0.05)]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[147.187.163.66.list.dnswl.org : 127.0.5.0]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Aug 2019 03:23:47 -0000 On 2019-Aug-6, at 19:08, Brooks Davis wrote: > On Tue, Aug 06, 2019 at 05:59:21PM -0700, Mark Millard wrote: >>=20 >>=20 >> On 2019-Aug-6, at 09:55, Brooks Davis wrote: >>=20 >>> I'd prefer to disable this dependency. There's a knob that worked = in >>> the 8.0 timeframe, but the lit build now autodetects z3 when it is >>> present and I've failed to find a knob to disable it. For now, the = easy >>> workaround is probably to disable options LIT. We could make that = the >>> default on non-LLVM platforms is that makes sense. >>>=20 >>> -- Brooks >>=20 >> Okay. >>=20 >> poudriere-devel automatically built math/z3 because >> I'd indicated to build devel/llvm90 . math/z3 was not >> previously built: I've never had other use of it. So >> my context was not one of an implicit autodetect. >=20 > The dependency is there because if z3 is installed then the package > that is built depends on z3. Thus I had not choice but to add a z3 > dependency until I find a way to turn it off. You can either help = find > a way to disable z3 detection in the cmake infrastructure or turn off > LIT. I don't have any use for reports on the effects of commenting = out > the DEPENDS line. I know what that does. I hope this helps. (I'm not a cmake expert.) llvm-9.0.0rc1.src/lib/Support/Z3Solver.cpp does: #if LLVM_WITH_Z3 =20 #include =20 namespace { . . . } // end anonymous namespace =20 #endif llvm::SMTSolverRef llvm::CreateZ3Solver() { #if LLVM_WITH_Z3 return llvm::make_unique(); #else llvm::report_fatal_error("LLVM was not compiled with Z3 support, = rebuild " "with -DLLVM_ENABLE_Z3_SOLVER=3DON", false); return nullptr; #endif } (There are other places LLVM_WITH_Z3 is used but the above is suggestive.) Working backwards finds that: /wrkdirs/usr/ports/devel/llvm90/work/llvm-9.0.0rc1.src/CMakeLists.txt shows LLVM_WITH_Z3 being conditionally set to 1 via . . . set(LLVM_Z3_INSTALL_DIR "" CACHE STRING "Install directory of the Z3 = solver.") find_package(Z3 4.7.1) =20 if (LLVM_Z3_INSTALL_DIR) if (NOT Z3_FOUND) message(FATAL_ERROR "Z3 >=3D 4.7.1 has not been found in = LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.") endif() endif() =20 set(LLVM_ENABLE_Z3_SOLVER_DEFAULT "${Z3_FOUND}") =20 option(LLVM_ENABLE_Z3_SOLVER "Enable Support for the Z3 constraint solver in LLVM." ${LLVM_ENABLE_Z3_SOLVER_DEFAULT} ) =20 if (LLVM_ENABLE_Z3_SOLVER) if (NOT Z3_FOUND) message(FATAL_ERROR "LLVM_ENABLE_Z3_SOLVER cannot be enabled when Z3 = is not available.") endif() set(LLVM_WITH_Z3 1) endif() if( LLVM_TARGETS_TO_BUILD STREQUAL "all" ) set( LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS} ) endif() If I read that correctly, LLVM_ENABLE_Z3_SOLVER set directly appears to override the default (that tracks if z3 was found). =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)