view src/gnuplot-1-fixes.patch @ 4472:0fdeee4cfe11

gnuplot: enable Qt terminal and set default to wxt * src/gnuplot.mk: Depend on qt5 and build with QT=1 QT_DIR=$(HOST_PREFIX)/qt QT_BIN_DIR=(BUILD_TOOLS_PREFIX)/bin, install gnuplot_qt.exe * src/gnuplot-1-fixes.patch: add to patchto allow override of QT tools and paths * installer-files/octave-firsttime.vbs: set GNUTERM=wxt * installer-files/octave.vbs: set GNUTERM=wxt * installer-files/octave.bat: set GNUTERM=wxt * installer-files/cmdshell.bat: set GNUTERM=wxt
author Mike Miller <mtmiller@octave.org>
date Wed, 06 Sep 2017 16:19:37 -0700
parents c615db675618
children fc9edc9be940
line wrap: on
line source

diff -ur gnuplot-5.0.7.orig/config/mingw/Makefile gnuplot-5.0.7/config/mingw/Makefile
--- gnuplot-5.0.7.orig/config/mingw/Makefile	2017-08-16 07:56:54.950650715 -0400
+++ gnuplot-5.0.7/config/mingw/Makefile	2017-08-16 08:02:13.581632383 -0400
@@ -101,18 +101,19 @@
 # Uncomment the following lines to compile it.
 #WXT=1
 #CAIROLIBS=1
+WX_CONFIG ?= wx-config
 
 # Build qt terminal?
 #QT=1
 # specify QT installation directory
 #QT_DIR = /c/Qt/5.2.1/mingw48_32
 ifndef MINGW64
-QT_DIR = /d/Source/Qt-5.2.1-mingw/5.2.1/mingw48_32
+QT_DIR ?= /d/Source/Qt-5.2.1-mingw/5.2.1/mingw48_32
 else
 ifdef M32
-QT_DIR = /mingw32
+QT_DIR ?= /mingw32
 else
-QT_DIR = /mingw64
+QT_DIR ?= /mingw64
 endif
 endif
 
@@ -130,7 +131,7 @@
 
 # Uncomment if you have libcerf
 # http://sourceforge.net/projects/libcerf/
-CERF=1
+#CERF=1
 
 # Below you can adapt paths according to your software setup:
 
@@ -159,6 +160,7 @@
 
 # Do you want some special optimization / flags?
 #CFLAGS +=
+CFLAGS += -DDISABLE_SPACE_RAISES_CONSOLE
 CWFLAGS += -Wno-unused-function
 ifdef CLANG
 CFLAGS += -fcolor-diagnostics -fansi-escape-codes
@@ -176,8 +178,8 @@
 # http://go.microsoft.com/fwlink/?LinkId=154968
 # We need to explicitly set the correct path here since we also need
 # adjust the include and library paths.
-HHWPATH = $(PROGRAMFILES32)/HTML\ Help\ Workshop/
-HHC = $(HHWPATH)hhc
+#HHWPATH = $(PROGRAMFILES32)/HTML\ Help\ Workshop/
+#HHC = $(HHWPATH)hhc
 
 # Choose which resource compiler you want to use (GNU windres or MS rc):
 GNU_RC = 1
@@ -193,7 +195,7 @@
 # get it from: http://www.jrsoftware.org/isdl.php
 # Use unicode version of Inno Setup Compiler but not Standard version
 # because the setup file of gnuplot installer is now encoded utf-8 with BOM.
-ISCC = $(PROGRAMFILES32)/Inno\ Setup\ 5/iscc
+#ISCC = $(PROGRAMFILES32)/Inno\ Setup\ 5/iscc
 
 # Directory that might contain extra files to be shipped with the installer.
 # This should include dependencies like DLLs, but also fontconfig configuration files.
@@ -440,9 +442,9 @@
 
 ifdef WXT
 	CFLAGS += -DWXWIDGETS
-	WXT_CXXFLAGS := $(shell wx-config --cxxflags)
+	WXT_CXXFLAGS := $(shell $(WX_CONFIG) --cxxflags)
 	CXXFLAGS += $(WXT_CXXFLAGS)
-	WX_LIBS := $(shell wx-config --libs | sed -e "s+-Wl,--subsystem,windows++g" -e "s+-mwindows++g")
+	WX_LIBS := $(shell $(WX_CONFIG) --libs | sed -e "s+-Wl,--subsystem,windows++g" -e "s+-mwindows++g")
 	WX_OBJS = wxt_gui.$(O)
 endif
 
@@ -532,7 +534,7 @@
 FULLVERSION := $(MAINVERSION) patchlevel $(PATCHLEVEL)
 
 
-default: $(TARGET) $(MENUFILE) support
+default: $(TARGET) $(MENUFILE) #support
 
 console: 
 	$(MAKE) TARGET=gnuplot.exe default
@@ -574,8 +576,8 @@
 	$(CC) -c $(CFLAGS) $(CFLAGSEXTRA) -MMD -MT '$*.$$(O)' -MF $*.d -o $@ $<
 
 LDLIBS = -lkernel32 -lgdi32 -lwinspool -lcomdlg32 -lcomctl32 -ladvapi32 -lshell32 -lmsimg32 -lgdiplus
-LDLIBS += -lhtmlhelp
-LDFLAGS2 += -L$(HHWPATH)lib
+#LDLIBS += -lhtmlhelp
+#LDFLAGS2 += -L$(HHWPATH)lib
 ifdef MINGW64
 LDFLAGS2 += -L.
 endif
Only in gnuplot-5.0.7/config/mingw: Makefile.orig
diff -ur gnuplot-5.0.7.orig/src/command.c gnuplot-5.0.7/src/command.c
--- gnuplot-5.0.7.orig/src/command.c	2017-08-16 07:56:54.917649785 -0400
+++ gnuplot-5.0.7/src/command.c	2017-08-16 08:02:13.581632383 -0400
@@ -125,7 +125,7 @@
 # endif
 #endif /* _Windows */
 
-#ifdef _Windows
+#ifdef IGNORE_Windows
 # include <windows.h>
 # ifdef __MSC__
 #  include <malloc.h>
@@ -2557,6 +2557,7 @@
 void
 help_command()
 {
+#ifndef __MINGW32__
     HWND parent;
 
     c_token++;
@@ -2592,6 +2593,7 @@
         link.fIndexOnFail = TRUE;
         HtmlHelp(parent, winhelpname, HH_KEYWORD_LOOKUP, (DWORD_PTR)&link);
     }
+#endif
 }
 #else  /* !_Windows */
 #ifndef VMS
Only in gnuplot-5.0.7/src: command.c.orig
diff -ur gnuplot-5.0.7.orig/src/internal.c gnuplot-5.0.7/src/internal.c
--- gnuplot-5.0.7.orig/src/internal.c	2017-08-16 07:56:54.932650208 -0400
+++ gnuplot-5.0.7/src/internal.c	2017-08-16 08:02:13.582632412 -0400
@@ -47,7 +47,7 @@
 
 #include <math.h>
 
-#ifndef _WIN64
+#if !defined(__MINGW64_VERSION_MAJOR)
 /*
  * FIXME: This is almost certainly out of date on linux, since the matherr
  * mechanism has been replaced by math_error() and supposedly is only 
diff -ur gnuplot-5.0.7.orig/src/syscfg.h gnuplot-5.0.7/src/syscfg.h
--- gnuplot-5.0.7.orig/src/syscfg.h	2017-08-16 07:56:54.921649898 -0400
+++ gnuplot-5.0.7/src/syscfg.h	2017-08-16 08:02:13.582632412 -0400
@@ -345,7 +345,11 @@
 #endif
 
 #ifndef GP_MATHERR
-# define GP_MATHERR matherr
+# if __MINGW32__
+#  define GP_MATHERR _matherr
+#else
+#  define GP_MATHERR matherr
+# endif
 #endif
 
 #ifdef HAVE_STRUCT_EXCEPTION_IN_MATH_H
diff -ur gnuplot-5.0.7.orig/config/mingw/Makefile gnuplot-5.0.7/config/mingw/Makefile
--- gnuplot-5.0.7.orig/config/mingw/Makefile	2017-09-07 17:47:19.588554741 -0400
+++ gnuplot-5.0.7/config/mingw/Makefile	2017-09-07 17:52:11.565785085 -0400
@@ -468,10 +468,11 @@
 		moc_QtGnuplotWidget.o moc_QtGnuplotScene.o \
 		moc_QtGnuplotEvent.o qrc_QtGnuplotResource.o
 #
-	MOC = $(QT_DIR)/bin/moc
-	UIC = $(QT_DIR)/bin/uic
-	RCC = $(QT_DIR)/bin/rcc
-	LRELEASE = $(QT_DIR)/bin/lrelease
+        QT_BIN_DIR ?= $(QT_DIR)/bin
+	MOC ?= $(QT_BIN_DIR)/moc
+	UIC ?= $(QT_BIN_DIR)/uic
+	RCC ?= $(QT_BIN_DIR)/rcc
+	LRELEASE ?= $(QT_BIN_DIR)/lrelease
 	QT_FILES_TARGETS  = qrc_QtGnuplotResource.cpp ui_QtGnuplotSettings.h moc_QtGnuplotWindow.cpp moc_QtGnuplotApplication.cpp 
 	QT_FILES_TARGETS += moc_QtGnuplotWidget.cpp moc_QtGnuplotScene.cpp moc_QtGnuplotEvent.cpp
 	QT_TRANSLATION = qtgnuplot_fr.qm qtgnuplot_ja.qm