From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alan Third Newsgroups: gmane.emacs.devel Subject: Re: master 7555f93: Remove src/macuvs.h from Git repository Date: Sat, 22 Jun 2019 20:21:35 +0100 Message-ID: <20190622192135.GA57900@breton.holly.idiocy.org> References: <20190621220118.16051.70712@vcs0.savannah.gnu.org> <20190621220121.8B68D209DE@vcs0.savannah.gnu.org> <10o92qqxla.fsf@fencepost.gnu.org> <83y31unkc3.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="218834"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.12.0 (2019-05-25) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 22 21:21:55 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1helaC-000ufn-5h for ged-emacs-devel@m.gmane.org; Sat, 22 Jun 2019 21:21:52 +0200 Original-Received: from localhost ([::1]:42148 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1helaA-00065e-HU for ged-emacs-devel@m.gmane.org; Sat, 22 Jun 2019 15:21:50 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56916) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hela3-00065W-S8 for emacs-devel@gnu.org; Sat, 22 Jun 2019 15:21:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hela0-0005uU-Ac for emacs-devel@gnu.org; Sat, 22 Jun 2019 15:21:43 -0400 Original-Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:46878) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hela0-0005rQ-1G for emacs-devel@gnu.org; Sat, 22 Jun 2019 15:21:40 -0400 Original-Received: by mail-wr1-x432.google.com with SMTP id n4so9648735wrw.13 for ; Sat, 22 Jun 2019 12:21:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Si/CltaLO2CjfBzglZYxH87quOg7Pm02M6jq/E1c5bk=; b=PVKO5Xj2m1FCuu6rPlPGxXMSz5+bJ4BinIQvt1YfrnKRo0oI/ODo0erQe3Lc+M3rmi 7s7XYaCv4qWwPH7RJKsGL7cMi1sSaBYeqN/t2e6vLc973GBuFDLMLgCx5/mES+IvZR9Y 85jQ1cgypqnAscM3KCoFeRAk/YwlhPHRaATef1cKvDM0rBb/KMaTE77oIkbAxt00dbTZ WUxC4IwMz1EISDsANjl08og9O9MKqzQQIccpNgV+lVEk0PO2mh4dTJVHKr6vtreFfus4 c/oAN7s9eYBG4d29jbvRGOAkzqAaKnNlBuGS14pCiViQc8qCCFBosPL5q1ZdrOOvQ3pL MeeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=Si/CltaLO2CjfBzglZYxH87quOg7Pm02M6jq/E1c5bk=; b=NnE5nX784Mz9C5gFHMEeq1NcLQPCuRJkalCz5ZoXdXzPrS24ORRnug7SPlfFCESMRH 6iiSbBsSjwgibkAq9jL2nQYv3DUWdp2WYKexFfkiJQIoNz4NtzB9LNkB3ans/wYi+kAj +OX5yJEwB85Dq/mm1wX1vFAn7VJ0pwYgctr32lkjonLc0BS9isCT1VAYR05JokjZiOo+ N88K6f7i5eZs2hhASd5RxTPwPUdsRN9W+MiYwucz40+AUzgLBdK0NnI5aGAJXUi9riky c5/L5KxPUdTkW9NNPJE+8yIX5KstOI0EYTsr0SbM3zvqnNv3ESs+VrD73lbn8vnIdO9S Y39Q== X-Gm-Message-State: APjAAAVUW4Vi5QdDJ8xVolXOW9J64W6G0Byn6VD6b/Cpa9IbFE1AfjwF 9onT9aLzPy6AofqtEE3j7jGAJUDt X-Google-Smtp-Source: APXvYqzowvKdZi3woSB9Oa10KIjLADpPOc+S6k/1Y25bB0Pamcnc4zW772Rrb80e3UhMhOOoSClPRw== X-Received: by 2002:a5d:4647:: with SMTP id j7mr32312170wrs.334.1561231297739; Sat, 22 Jun 2019 12:21:37 -0700 (PDT) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-687e-3b34-1271-b994.holly.idiocy.org. [2001:8b0:3f8:8129:687e:3b34:1271:b994]) by smtp.gmail.com with ESMTPSA id y19sm8261803wmc.21.2019.06.22.12.21.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Jun 2019 12:21:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::432 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:238046 Archived-At: On Sat, Jun 22, 2019 at 12:20:14PM +0200, Robert Pluim wrote: > > *grumble* This stuff has broken the build on macOS, probably because > itʼs now building an initial emacs in a configuration thatʼs not been > tested in a while, judging by the the contents of config.h: > > In file included from nsterm.m:49: > ./nsterm.h:1322:20: error: typedef redefinition with different types ('NSUInteger' (aka 'unsigned long') vs 'enum NSWindowStyleMask') > typedef NSUInteger NSWindowStyleMask; > > ^ > /System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:35:32: note: previous definition is here > typedef NS_OPTIONS(NSUInteger, NSWindowStyleMask) { > ^ > In file included from nsterm.m:49: > ./nsterm.h:1326:6: error: enumeration previously declared with fixed underlying type > enum NSWindowTabbingMode > ^ > > (and src/macuvs.h obviously does not get regenerated) Hmm, so I'm seeing HAVE_NS defined but neither NS_IMPL_COCOA nor NS_IMPL_GNUSTEP. That will break things in a few places as there is an assumption that if you’re building NS you must have an implementation of it. The following fixes it: modified configure.ac @@ -1959,11 +1959,19 @@ AC_DEFUN CFLAGS="$CFLAGS -x objective-c" GNU_OBJC_CFLAGS= LIBS_GNUSTEP= + + # macfont.o requires macuvs.h which is absent in the repository, + # so avoid NS_IMPL_COCOA if macuvs.h is absent. + # Even a headless Emacs can build macuvs.h, so this lets you bootstrap. +if test "${opsys}" = darwin && test \! -f "$srcdir/src/macuvs.h"; then + with_ns="no" +fi + if test "${with_ns}" != no; then # macfont.o requires macuvs.h which is absent in the repository, # so avoid NS_IMPL_COCOA if macuvs.h is absent. # Even a headless Emacs can build macuvs.h, so this lets you bootstrap. - if test "${opsys}" = darwin && test -f "$srcdir/src/macuvs.h"; then + if test "${opsys}" = darwin; then NS_IMPL_COCOA=yes ns_appdir=`pwd`/nextstep/Emacs.app ns_appbindir=${ns_appdir}/Contents/MacOS But turns the build into: ./autogen.sh ./configure make ./configure make make install And if the user accidentally runs ‘make install’ after the first make it’s going to try to install Emacs in /usr or something, which is generally the wrong thing on macOS. Bizarrely I ended up with an X build after the first make... I don’t know what the right thing to do is. -- Alan Third