diff -Nru robocut-1.0.8/changelog robocut-1.0.11/changelog --- robocut-1.0.8/changelog 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/changelog 2017-09-14 00:23:04.000000000 +0000 @@ -1,3 +1,26 @@ +1.0.11 + * Windows and OSX binaries released for first time + * Add in-tree libusb for Windows. Not the best practice but it is only two files. + * Added Transform_Silhouette_Cameo() to rotate the plot as SVG onscreen. Allow left aligned paper. Cameo has high x-coordinates to the left, although the head homes at the left side. + * Added File->Reload (CTRL-L), this saves a lot of clicking and scrolling through the file dialogue while adjusting the design. + * Added View->Identify to print the devices seen to stdout. This option is temporarily hidden in the menu (via the .ui file) until it does something user-visible. + * Refactored UsbOpen() / UsbInit() from Plotter.cpp:Cut(). + * Added to about message and tooltip. Removed debug page dump on stdout; + * robocut.spec added, as used in https://build.opensuse.org/package/show?package=robocut&project=home:jnweiger + * Move all information to Readme.md rather than spreading it out over multiple files. + * Maybe very slightly better icon? It's still pretty rubbish! Contributions welcome! + * Change links to point to http://robocut.org/ + * Code style fixes + * Mouse zoom is the "standard" way now. + * Mouse zooms to the cursor. + * QT5 support + +1.0.10 + * Fixed missing image files. + +1.0.9 + * Add USB ID 111A for CC300-20 Craft Robo Lite as another default. + 1.0.8 * changes in Robocut.pro for qmake so no QT files are shipped (Debian requirement) diff -Nru robocut-1.0.8/Common.h robocut-1.0.11/Common.h --- robocut-1.0.8/Common.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/Common.h 2017-09-14 00:23:04.000000000 +0000 @@ -52,7 +52,7 @@ const Error Success(true); const Error Failure(false); -/** Integer to string. */ +// Integer to string. inline string ItoS(int I) { std::stringstream S; @@ -60,7 +60,7 @@ return S.str(); } -/** Unsigned integer to string. */ +// Unsigned integer to string. inline string UItoS(unsigned int I) { std::stringstream S; @@ -68,7 +68,7 @@ return S.str(); } -/** Unsigned long long to string. */ +// Unsigned long long to string. inline string ULLtoS(unsigned long long I) { char out[128]; @@ -76,7 +76,7 @@ return out; } -/** String to integer, returns Fail on fail. */ +// String to integer, returns Fail on fail. inline int StoI(const string& S, int Fail = 0) { char* EP; @@ -87,7 +87,7 @@ return R; } -/** String to unsigned integer, returns Fail on fail. */ +// String to unsigned integer, returns Fail on fail. inline unsigned int StoUI(const string& S, unsigned int Fail = 0) { char* EP; @@ -98,7 +98,7 @@ return R; } -/** String to unsigned integer, returns Fail on fail. */ +// String to unsigned integer, returns Fail on fail. inline unsigned int StoULL(const string& S, unsigned long long Fail = 0) { char* EP; @@ -109,7 +109,7 @@ return R; } -/** Get an environmental variable. */ +// Get an environmental variable. inline string GetEnv(const string& Var) { char* V = getenv(Var.c_str()); diff -Nru robocut-1.0.8/CutDialog.h robocut-1.0.11/CutDialog.h --- robocut-1.0.8/CutDialog.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/CutDialog.h 2017-09-14 00:23:04.000000000 +0000 @@ -19,8 +19,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef CUTDIALOG_H -#define CUTDIALOG_H +#pragma once #include @@ -43,10 +42,12 @@ int speed() const; // The cutting pressure (1-33). int pressure() const; - // Track enhancing. + // Track enhancing. This is when the cutter rolls the media backwards and forwards + // a few times before cutting in order to indent it with tracks where the rollors are. + // The idea is that it will slip less after that is done. bool trackEnhancing() const; - // Whether to search + // Whether to search. bool regMark() const; bool regSearch() const; // Positions of the registration marks. @@ -57,10 +58,8 @@ void changeEvent(QEvent *e); private slots: - // When they change the media, update the default speed and pressure. + // When they change the media selection, update the default speed and pressure. void onMediaChanged(int idx); private: Ui::CutDialog *ui; }; - -#endif // CUTDIALOG_H diff -Nru robocut-1.0.8/CuttingDialog.cpp robocut-1.0.11/CuttingDialog.cpp --- robocut-1.0.8/CuttingDialog.cpp 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/CuttingDialog.cpp 2017-09-14 00:23:04.000000000 +0000 @@ -59,9 +59,7 @@ } -void CuttingDialog::startCut(QList cuts, double mediawidth, double mediaheight, int media, int speed, - int pressure, bool trackenhancing, - bool regmark, bool regsearch, double regwidth, double reglength) +void CuttingDialog::startCut(const CutParams& params) { if (thread) { @@ -73,8 +71,7 @@ connect(thread, SIGNAL(success()), SLOT(onSuccess())); connect(thread, SIGNAL(error(QString)), SLOT(onError(QString))); - thread->setParams(cuts, mediawidth, mediaheight, media, speed, pressure, trackenhancing, - regmark, regsearch, regwidth, reglength); + thread->setParams(params); thread->start(); } diff -Nru robocut-1.0.8/CuttingDialog.h robocut-1.0.11/CuttingDialog.h --- robocut-1.0.8/CuttingDialog.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/CuttingDialog.h 2017-09-14 00:23:04.000000000 +0000 @@ -41,9 +41,7 @@ // Start the cutting thread. Call this only once, before the dialog is shown. // It creates the thread, passes it the cutting details, and runs it. - void startCut(QList cuts, double mediawidth, double mediaheigt, int media, int speed, - int pressure, bool trackenhancing, bool regmark, bool regsearch, - double regwidth, double reglength); + void startCut(const CutParams& params); protected: void changeEvent(QEvent *e); diff -Nru robocut-1.0.8/CuttingThread.cpp robocut-1.0.11/CuttingThread.cpp --- robocut-1.0.8/CuttingThread.cpp 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/CuttingThread.cpp 2017-09-14 00:23:04.000000000 +0000 @@ -26,40 +26,19 @@ CuttingThread::CuttingThread(QObject *parent) : QThread(parent) { - _media = 300; - _speed = 10; - _pressure = 10; - _trackenhancing = false; - _regmark = false; - _regsearch = false; - _regwidth = 0.0; - _reglength = 0.0; + } -void CuttingThread::setParams(QList cuts, double mediawidth, double mediaheight, int media, - int speed, int pressure, bool trackenhancing, - bool regmark, bool regsearch, float regwidth, float reglength) +void CuttingThread::setParams(const CutParams& p) { - // TODO: Move all this into a structure. - _cuts = cuts; - _media = media; - _speed = speed; - _pressure = pressure; - _trackenhancing = trackenhancing; - _regmark = regmark; - _regsearch = regsearch; - _regwidth = regwidth; - _reglength = reglength; - _mediawidth = mediawidth; - _mediaheight = mediaheight; + params = p; } void CuttingThread::run() { - Error e = Cut(_cuts, _mediawidth, _mediaheight, _media, _speed, _pressure, _trackenhancing, - _regmark, _regsearch, _regwidth, _reglength); + Error e = Cut(params); if (e) emit success(); else diff -Nru robocut-1.0.8/CuttingThread.h robocut-1.0.11/CuttingThread.h --- robocut-1.0.8/CuttingThread.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/CuttingThread.h 2017-09-14 00:23:04.000000000 +0000 @@ -34,6 +34,21 @@ // 4. Call start(). // 5. Wait for success() or error(). +struct CutParams +{ + QList cuts; + double mediawidth = 0.0; + double mediaheight = 0.0; + int media = 300; + int speed = 10; + int pressure = 10; + bool trackenhancing = false; + bool regmark = false; + bool regsearch = false; + double regwidth = 0.0; + double regheight = 0.0; +}; + class CuttingThread : public QThread { Q_OBJECT @@ -41,8 +56,7 @@ explicit CuttingThread(QObject *parent = 0); // Set the parameters to use for the cut. - void setParams(QList cuts, double mediawidth, double mediaheight, int media, int speed, int pressure, - bool trackenhancing, bool regmark, bool regsearch, float regwidth, float reglength); + void setParams(const CutParams& params); signals: // Emitted if the cutting was (as far as we can tell) successful. @@ -57,15 +71,6 @@ void run(); private: - QList _cuts; - double _mediawidth; - double _mediaheight; - int _media; - int _speed; - int _pressure; - bool _trackenhancing; - bool _regmark; - bool _regsearch; - double _regwidth; - double _reglength; + CutParams params; + }; diff -Nru robocut-1.0.8/debian/changelog robocut-1.0.11/debian/changelog --- robocut-1.0.8/debian/changelog 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/changelog 2017-09-13 15:42:47.000000000 +0000 @@ -1,3 +1,31 @@ +robocut (1.0.11-1) unstable; urgency=low + + * fixed spelling bug (Closes: #657050) + * fixed git url (Closes: #867053) + * QT5 support (Closes: #875173) + * Added Transform_Silhouette_Cameo() to rotate the plot as SVG onscreen. + Allow left aligned paper. Cameo has high x-coordinates to the left, + although the head homes at the left side. + * Added File->Reload (CTRL-L), this saves a lot of clicking and scrolling + through the file dialogue while adjusting the design. + * Added View->Identify to print the devices seen to stdout. This option + is temporarily hidden in the menu (via the .ui file) until it does + something user-visible. + * Refactored UsbOpen() / UsbInit() from Plotter.cpp:Cut(). + * Added to about message and tooltip. Removed debug page dump on stdout; + * robocut.spec added, as used in + https://build.opensuse.org/package/show?package=robocut&project=home:jnweiger + * Maybe very slightly better icon? It's still pretty rubbish! + Contributions welcome! + * Change links to point to http://robocut.org/ + * Code style fixes + * Mouse zoom is the "standard" way now. + * Mouse zooms to the cursor. + * Fixed missing image files. + * Add USB ID 111A for CC300-20 Craft Robo Lite as another default. + + -- Markus Schulz Wed, 13 Sep 2017 11:42:47 -0400 + robocut (1.0.8-1) unstable; urgency=low * Add two more example registration mark files diff -Nru robocut-1.0.8/debian/compat robocut-1.0.11/debian/compat --- robocut-1.0.8/debian/compat 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/compat 2017-09-13 15:42:47.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru robocut-1.0.8/debian/control robocut-1.0.11/debian/control --- robocut-1.0.8/debian/control 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/control 2017-09-13 15:42:47.000000000 +0000 @@ -2,17 +2,17 @@ Section: graphics Priority: optional Maintainer: Markus Schulz -Build-Depends: debhelper (>= 7), quilt, libqt4-dev, libusb-1.0-0-dev -Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 9), qtbase5-dev, libusb-1.0-0-dev, libqt5svg5-dev +Standards-Version: 3.9.8 Homepage: https://code.launchpad.net/robocut -Vcs-Git: git://gitorious.org/~alpharesearch/robocut/alpharesearchs-robocut.git -Vcs-Browser: http://gitorious.org/~alpharesearch/robocut/alpharesearchs-robocut +Vcs-Git: https://github.com/alpharesearch/robocut.git +Vcs-Browser: https://github.com/alpharesearch/robocut Package: robocut Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Control program for Graphtec cutting plotters Robocut is a simple graphical program to allow you to cut graphics with a - Graphtec Craft Robo 2 Vinyl Cutter model CC220-20 and Sihouette SD. It can + Graphtec Craft Robo 2 Vinyl Cutter model CC220-20 and Silhouette SD. It can read SVG files produced by Inkscape, but it should also work with other SVG files. diff -Nru robocut-1.0.8/debian/copyright robocut-1.0.11/debian/copyright --- robocut-1.0.8/debian/copyright 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/copyright 2017-09-13 15:42:47.000000000 +0000 @@ -1,6 +1,6 @@ This work was packaged for Debian by: - Markus Schulz on Sat, 26 Nov 2010 18:27:36 -0400 + Markus Schulz Wed, 13 Sep 2017 11:42:47 -0400 It was downloaded from: diff -Nru robocut-1.0.8/debian/misc/robocut.desktop robocut-1.0.11/debian/misc/robocut.desktop --- robocut-1.0.8/debian/misc/robocut.desktop 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/misc/robocut.desktop 2017-09-13 15:42:47.000000000 +0000 @@ -7,4 +7,5 @@ Terminal=false Type=Application Categories=Graphics; -StartupNotify=false \ No newline at end of file +StartupNotify=false +Keywords=scrapbook diff -Nru robocut-1.0.8/debian/robocut.1 robocut-1.0.11/debian/robocut.1 --- robocut-1.0.8/debian/robocut.1 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/robocut.1 2017-09-13 15:42:47.000000000 +0000 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.38.4. -.TH ROBOCUT "1" "August 2011" "Robocut V1.0.8" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH ROBOCUT "1" "September 2017" "robocut 1.0.11" "User Commands" .SH NAME -Robocut \- is used with cutting plotters. +robocut \- is used with cutting plotters. .SH DESCRIPTION The `Robocut' program plots or cuts SVG files on a Craft Robo or Silhouette SD or most likely any other customer grade Graphtec cutting plotter. @@ -86,11 +86,11 @@ .SH ENVIRONMENT QT SVG only supports the SVG 1.2 Tiny standard and this has a limited SVG support. For example multiline text is something that is no supported by Robocut, however you can export your text to a path or just create each line separate. .SH AUTHOR -Written by Tim Hutt and Markus Schulz +Written by Tim Hutt and Markus Schulz .SH "REPORTING BUGS" Report bugs to https://bugs.launchpad.net/robocut/+filebug. .SH COPYRIGHT -Copyright \(co 2010 +Copyright \(co 2015 .br This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff -Nru robocut-1.0.8/debian/robocut.menu robocut-1.0.11/debian/robocut.menu --- robocut-1.0.8/debian/robocut.menu 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/robocut.menu 2017-09-13 15:42:47.000000000 +0000 @@ -1,5 +1,2 @@ -?package(robocut):needs="X11" section="Applications/Graphics" \ - icon="/usr/share/pixmaps/robocut.xpm" \ - title="Robocut" \ - command="/usr/bin/robocut" + diff -Nru robocut-1.0.8/debian/rules robocut-1.0.11/debian/rules --- robocut-1.0.8/debian/rules 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/rules 2017-09-13 15:42:47.000000000 +0000 @@ -8,6 +8,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 - +export QT_SELECT=qt5 +export DEB_BUILD_MAINT_OPTIONS=hardening=+all %: dh $@ diff -Nru robocut-1.0.8/debian/upstream/signing-key.asc robocut-1.0.11/debian/upstream/signing-key.asc --- robocut-1.0.8/debian/upstream/signing-key.asc 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/debian/upstream/signing-key.asc 2017-09-13 15:42:47.000000000 +0000 @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQGiBEpIJaMRBAD9A6Q8YYwdMKHoPEkr5G1FiBeOfzUSlk++Bz1NtD+g+q0jUJJ3 +nYBxKF/JjztHviOG6cInNYAHQICLKvjaKCG+qMTUPoz3UQz8tIG0UtQiEV+xPXfR +7nK3io15tAE/+6GLkoSKaY/GdkkLBXiAhM9zvaMIgyrXxXVOivh7Ifz/3wCgo+fV +IQoVX1zNUBhP6k2MvyuwygUD/1n/5N4gL6tIbYT1v7BvpEE8QXsZ83gSi8X/+rT7 +jjz2xFSb2nEk7MZ4wv4Dk9geprxosoOKfP4YtRPqsTihrkRn+yo+X5L5I8NvTflQ +sa+oB0Mc31qPHxt1FNrIq9Ngk+fXWpuC6MBP3km4IzpU9egndof+3VShywURip+h +MNy+A/wI7qyoef2Q7uRuKNkUM4mvaKC+5i8HFjZShaF9NO2B3DS65XliRyYG8Xfq +KJ42P44WnpcYLCkh1d3L9AdJLzCztIeZe0+VbJ8mJHBTNHicS64f7EbUq6QySOQC +7Z/Q0wn//rDHtie2RJISwAmaODB7WOAjZ+KnQeUrgW66JDEX3LQnTWFya3VzIFNj +aHVseiA8c2NodWx6QGFscGhhcmVzZWFyY2guZGU+iGAEExECACAFAkpIJaMCGwMG +CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRADDn26YzOhBPH0AJ91oF3KRZ3hj/a6 +fCXE9TUGC91EbgCfUV7dpTwUnJO55bubUL9gRXh51Ze5Ag0ESkgloxAIAKQgZQ7G +nx3SFgFDWRRo8uH09J+jt1B7NAVBykLGPIhNRpkX6e6weUc03hj5iC7WCVbrIZoc +/BjwWpfkmvh6Vy/r8A8WPti6JJS3WbeLfVjxvbpj4BNnZB4K/29NS3Ia8rUwo2ko +sRojHTILo+v6bXcwVRfux408FdHaY1LpedqWJQLUcUvQdjijAXFDxKdq3puCECiQ +LNoytl6MOKDO3VGCLvgRo2Ig/72hf01iP2YEOK5ndQGvGu+40nqt5kM0CWHLpNxu +FsuVX4CXWMSd/66ts/5A27ue2Cz05MhcmGeq0EVQ4aYvzkRI503pC7mWGGqn3jpL +lOarBrtS0RM4QssAAwUH/3vBFxO+GKu2e3IjBtNy5zgcFHRKH5/IT1W0Rn7tkHyj +P0WCfIpAK4ZWNjfVYCkriSwU8o7kySBQPyvW9lzSDOzdHH5SIBBGsS1uGsUQ3m0I +k6TNcD2KCJ1To5FDAEpzrGl5hbNWOFCgwO9OrmezOBmjrUrw3t0DwWlACD/R3gPl +Z6p65SIH5K4h7mKPy+8YsNbU4J2ZuMtreOCUvgwgUDwvIXz/y3l+BBC4pLbdCXAt +3jiz0PkJPpvGLZ/qOShprIzIKMpHyQmhLEakIJE8wZHQTq7wSpH8zfPVmALlfvsr +CX3pvpYosa6NaCC16yiQALQJgK1icys3m0i7B8wlKnaISQQYEQIACQUCSkglowIb +DAAKCRADDn26YzOhBL4LAJ9M57soTjWdttbOBNmF0LvB04SamACcDjPyjT9OxG9V +5XD45m5Q+m50HeQ= +=iKQe +-----END PGP PUBLIC KEY BLOCK----- diff -Nru robocut-1.0.8/debian/watch robocut-1.0.11/debian/watch --- robocut-1.0.8/debian/watch 2011-08-13 20:51:18.000000000 +0000 +++ robocut-1.0.11/debian/watch 2017-09-13 15:42:47.000000000 +0000 @@ -1,7 +1,10 @@ # Run the "uscan" command # Compulsory line, this is a version 3 file -version=3 +version=4 -#see Launchpad Bug #231797 -https://launchpad.net/robocut/+download http://launchpad.net/robocut/systemtest/.*/robocut_(.*)\.tar\.gz +#see Launchpad Bug #231797 +#https://wiki.debian.org/debian/watch +opts=pgpsigurlmangle=s/$/.asc/ \ + https://launchpad.net/robocut/ \ + https://launchpad.net/.*download/robocut([.\d]+)\.tar\.gz Binary files /tmp/tmpVhph4f/tXmljCbuNy/robocut-1.0.8/images/icon.png and /tmp/tmpVhph4f/hEctlw5Ns7/robocut-1.0.11/images/icon.png differ Binary files /tmp/tmpVhph4f/tXmljCbuNy/robocut-1.0.8/images/robocut.xcf and /tmp/tmpVhph4f/hEctlw5Ns7/robocut-1.0.11/images/robocut.xcf differ diff -Nru robocut-1.0.8/images/robocut.xpm robocut-1.0.11/images/robocut.xpm --- robocut-1.0.8/images/robocut.xpm 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/images/robocut.xpm 2017-09-14 00:23:04.000000000 +0000 @@ -1,43 +1,103 @@ /* XPM */ static char * robocut_xpm[] = { -"32 32 8 1", +"32 32 68 1", " c None", -". c #FF0000", -"+ c #0004FF", -"@ c #F7FF00", -"# c #000000", -"$ c #FFFFFF", -"% c #FFA165", -"& c #787878", -" ", -" ", -" ", -" ", -" ..... +++++ @@@@@ # ", -" ... +++ @@@ # ", -" . + @ # ", -" # ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" $$$$$$$$$$$$$$$$$$$$$$######## ", -" $$$$$$$$$$$$$$$$$$$$$$######## ", -" $$$$$$$$$$$$$$$$$$$$$$######## ", -" $$$$$$$$$$$$$$$$$$$$$$######## ", -" $$$$$$$%$$%$%$%$$$$$$$######## ", -" $$$$$$%$%$$%$$%$$$$$$$######## ", -" $$$$$$$$$$$$$$$$$$$$$$######## ", -" &&&&&&&&&&&&&&&&&&&&&&######## ", -" &&&&&&&&&&&&&&&&&&&&&&######## ", -" &&&&&&&&&&&&&&&&&&&&&&######## ", -" &&&&&&&&&&&&&&&&&&&&&&######## ", -" &&&&&&&&&&&&&&&&&&&&&&######## ", -" &&&&&&&&&&&&&&&&&&&&&&######## ", -" ", -" "}; +". c #3D4083", +"+ c #ECEDF2", +"@ c #525590", +"# c #E0E1EC", +"$ c #606299", +"% c #CBCBDD", +"& c #777AA8", +"* c #444788", +"= c #1B206F", +"- c #121769", +"; c #E7E8F0", +"> c #2D327A", +", c #DADBE7", +"' c #3C4083", +") c #BFC0D6", +"! c #595D96", +"~ c #1D2270", +"{ c #14196A", +"] c #E8E8F0", +"^ c #2F347C", +"/ c #DADBE8", +"( c #3E4285", +"_ c #C0C1D7", +": c #5B5E97", +"< c #E9EAF1", +"[ c #30347C", +"} c #DCDCE8", +"| c #3F4385", +"1 c #C1C2D7", +"2 c #5C6098", +"3 c #1A1F6E", +"4 c #797BAA", +"5 c #1E2371", +"6 c #7679A9", +"7 c #252975", +"8 c #686B9F", +"9 c #30357C", +"0 c #1C2170", +"a c #000000", +"b c #323232", +"c c #333333", +"d c #2E2C27", +"e c #2E2C28", +"f c #302F2D", +"g c #343434", +"h c #7096E0", +"i c #648EDE", +"j c #638EDE", +"k c #5685D3", +"l c #4E7FD0", +"m c #FB000C", +"n c #FA000C", +"o c #FC010C", +"p c #5282D1", +"q c #FB000B", +"r c #FC000B", +"s c #4889DB", +"t c #F8000C", +"u c #F9000B", +"v c #FB010C", +"w c #FF0000", +"x c #FA0C18", +"y c #FE000B", +"z c #FE010C", +"A c #FC000C", +"B c #F8000A", +"C c #FC0611", +" ", +" ", +" .+@#$%&******* ", +" =-;>,')!======== ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{]^/(_:~~~~~~~~ ", +" ~{<[}|12~~~~~~~~ ", +" ~3456789~~~~~~~~ ", +" ~~~~0~~~~~~~~~~~ ", +" ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" aaaaaaaaaaa ", +" bbbcdeefbg ", +" hij ", +" kll mno ", +" pl oqmnr ", +" s tuv ", +" wxyzABC ", +" z "}; diff -Nru robocut-1.0.8/main.cpp robocut-1.0.11/main.cpp --- robocut-1.0.8/main.cpp 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/main.cpp 2017-09-14 00:23:04.000000000 +0000 @@ -19,7 +19,8 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#include +#include +#include #include "MainWindow.h" #include "ProgramOptions.h" @@ -31,12 +32,17 @@ int main(int argc, char *argv[]) { - ProgramOptions::Instance().setVersion("Robocut V1.0.8"); // would be nice if this could be imported from qmake + // Version is defined in Robocut.pro + ProgramOptions::Instance().setVersion(ROBOCUT_VERSION); + + // Initialise options from command line if specified. ProgramOptions::Instance().GetOpt(argc, argv); - int err = libusb_init(NULL); + + int err = libusb_init(nullptr); if (err != LIBUSB_SUCCESS) { - cerr << "Error initialising usb library." << endl; + QMessageBox::critical(nullptr, "Error initialising USB library.", libusb_error_name(err)); + cerr << "Error initialising USB library: " << libusb_error_name(err) << endl; return 1; } @@ -49,6 +55,6 @@ ret = a.exec(); } - libusb_exit(NULL); + libusb_exit(nullptr); return ret; } diff -Nru robocut-1.0.8/MainWindow.cpp robocut-1.0.11/MainWindow.cpp --- robocut-1.0.8/MainWindow.cpp 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/MainWindow.cpp 2017-09-14 00:23:04.000000000 +0000 @@ -103,6 +103,27 @@ loadFile(); } +void MainWindow::on_actionReload_triggered() +{ + if(QFile::exists(filename)) + loadFile(); + else + qDebug() << "Reload failed. File missing: " << filename; +} + +void MainWindow::on_actionIdentify_triggered() +{ + // CAUTION: only call this when not cutting! + struct cutter_id *id = Identify(); + cout << "Identify:"; + if (id->usb_product_id) + { + cout << " usb=" << id->usb_vendor_id << "/" << id->usb_product_id; + } + cout << " " << id->msg << endl; +} + + void MainWindow::loadFile() { if (filename.isEmpty()) @@ -208,7 +229,16 @@ void MainWindow::on_actionAbout_triggered() { - QString message = "" + ProgramOptions::Instance().getVersion() + "

By Tim Hutt, © 2010

Parts of the source by Markus Schulz, © 2010

This software allows you to read a vector image in SVG format, and send it to a Graphtec Craft Robo 2 (or possibly 3) for cutting. It is designed to work with SVGs produced by the excellent free vector graphics editor Inkscape. It may work with other software but this has not been tested.

See the online manual for instructions."; + QString message = "" + ProgramOptions::Instance().getVersion() + + "

By Tim Hutt, © 2010
" + + "
Parts of the source by Markus Schulz, © 2010
" + + "
This software allows you to read a vector image in SVG format, " + + "and send it to a Graphtec Craft Robo 2/3 " + + " or Silhouette Cameo " + + " (or similar device) for cutting. It is designed to work with SVGs produced " + + "by the excellent free vector graphics editor Inkscape. " + + " It may work with other software but this has not been tested.
" + + "
See the website for more information."; QMessageBox::information(this, "About", message); } @@ -228,16 +258,27 @@ // Create a new dialog and run the actual cutting in a different thread. CuttingDialog* cuttingDlg = new CuttingDialog(this); - cuttingDlg->startCut(paths, mediaSize.width(), mediaSize.height(), cutDialog->media(), cutDialog->speed(), - cutDialog->pressure(), cutDialog->trackEnhancing(), - cutDialog->regMark(), cutDialog->regSearch(), - cutDialog->regWidth(), cutDialog->regHeight()); + + CutParams params; + params.cuts = paths; + params.mediawidth = mediaSize.width(); + params.mediaheight = mediaSize.height(); + params.media = cutDialog->media(); + params.pressure = cutDialog->pressure(); + params.regwidth = cutDialog->regWidth(); + params.regheight = cutDialog->regHeight(); + params.regmark = cutDialog->regMark(); + params.regsearch = cutDialog->regSearch(); + params.speed = cutDialog->speed(); + params.trackenhancing = cutDialog->trackEnhancing(); + + cuttingDlg->startCut(params); cuttingDlg->show(); } void MainWindow::on_actionManual_triggered() { - QMessageBox::information(this, "Manual", "An online manual is available at

http://concentriclivers.com/"); + QMessageBox::information(this, "Manual", "An online manual is available at

http://robocut.org/"); } void MainWindow::on_actionAnimate_toggled(bool animate) @@ -352,6 +393,7 @@ ui->actionZoom_In->setEnabled(e); ui->actionZoom_Out->setEnabled(e); ui->actionCut->setEnabled(e); + ui->actionReload->setEnabled(e); } @@ -361,9 +403,18 @@ { if (e->type() == QEvent::Wheel) { + // Anchor under the mouse pointer when using the mouse wheel. + // This doesn't quite work as nicely as I'd like because it clamps the scrolling + // precisely to the scene boundary. It's a bit hard to zoom to corners. Oh well. + ui->graphicsView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse); QWheelEvent *w = dynamic_cast(e); - if(w->delta() <= 0) on_actionZoom_In_triggered(); - else on_actionZoom_Out_triggered(); + if (w->delta() <= 0) + on_actionZoom_Out_triggered(); + else + on_actionZoom_In_triggered(); + + // Anchor in view centre for keyboard shortcuts. + ui->graphicsView->setTransformationAnchor(QGraphicsView::AnchorViewCenter); return true; } } diff -Nru robocut-1.0.8/MainWindow.h robocut-1.0.11/MainWindow.h --- robocut-1.0.8/MainWindow.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/MainWindow.h 2017-09-14 00:23:04.000000000 +0000 @@ -19,10 +19,9 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H +#pragma once -#include +#include #include #include @@ -87,6 +86,8 @@ void on_actionExit_triggered(); void on_actionAbout_triggered(); void on_actionOpen_triggered(); + void on_actionReload_triggered(); + void on_actionIdentify_triggered(); // Advance the cutting animation frame. void animate(); @@ -97,5 +98,3 @@ bool eventFilter(QObject *o, QEvent *e); void loadFile(); }; - -#endif // MAINWINDOW_H diff -Nru robocut-1.0.8/MainWindow.ui robocut-1.0.11/MainWindow.ui --- robocut-1.0.8/MainWindow.ui 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/MainWindow.ui 2017-09-14 00:23:04.000000000 +0000 @@ -40,7 +40,7 @@ 0 0 823 - 23 + 21 @@ -48,6 +48,7 @@ File + @@ -66,6 +67,7 @@ + @@ -121,6 +123,9 @@ Animate + + Animate -- Simulate movement onscreen + Ctrl+A @@ -158,6 +163,34 @@ - + + + false + + + Reload + + + Reload the current SVG file + + + Ctrl+L + + + + + Identify devices + + + Identify connected Plotter + + + Ctrl+I + + + false + + diff -Nru robocut-1.0.8/manfile.txt robocut-1.0.11/manfile.txt --- robocut-1.0.8/manfile.txt 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/manfile.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -[ENVIRONMENT] -QT SVG only supports the SVG 1.2 Tiny standard and this has a limited SVG support. For example multiline text is something that is no supported by Robocut, however you can export your text to a path or just create each line separate. diff -Nru robocut-1.0.8/NoCopy.h robocut-1.0.11/NoCopy.h --- robocut-1.0.8/NoCopy.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/NoCopy.h 2017-09-14 00:23:04.000000000 +0000 @@ -26,8 +26,8 @@ NoCopy() { } ~NoCopy() { } private: - NoCopy(const NoCopy&); - const NoCopy& operator=(const NoCopy&); + NoCopy(const NoCopy&) = delete; + const NoCopy& operator=(const NoCopy&) = delete; }; #define NOCOPY NoCopy nocopyvar diff -Nru robocut-1.0.8/PathSorter.h robocut-1.0.11/PathSorter.h --- robocut-1.0.8/PathSorter.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/PathSorter.h 2017-09-14 00:23:04.000000000 +0000 @@ -18,8 +18,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef PATHSORTER_H -#define PATHSORTER_H +#pragma once #include @@ -32,15 +31,15 @@ void getQList (const QList inpaths); QList Sort (const QList inpaths); - QList Sort () {return Sort(pathToSort);}; + QList Sort () {return Sort(pathToSort);} QList UnSort (const QList inpaths); - QList UnSort () {return UnSort(pathToSort);}; + QList UnSort () {return UnSort(pathToSort);} QList BestSort (const QList inpaths); - QList BestSort () {return BestSort(pathToSort);}; + QList BestSort () {return BestSort(pathToSort);} QList GroupTSP(const QList inpaths1, int groups = 3); - QList GroupTSP(int groups = 3) {return GroupTSP(pathToSort, groups);}; + QList GroupTSP(int groups = 3) {return GroupTSP(pathToSort, groups);} QList BbSort (const QList inpaths); - QList BbSort () {return BbSort(pathToSort);}; + QList BbSort () {return BbSort(pathToSort);} void setMediaHeight(qreal mediaheight); private: QList pathToSort; @@ -55,4 +54,3 @@ static bool MyLessThan(const QPolygonF &p1, const QPolygonF &p2); }; -#endif // PATHSORTER_H diff -Nru robocut-1.0.8/Plotter.cpp robocut-1.0.11/Plotter.cpp --- robocut-1.0.8/Plotter.cpp 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/Plotter.cpp 2017-09-14 00:23:04.000000000 +0000 @@ -25,11 +25,7 @@ #include int VENDOR_ID = ProgramOptions::Instance().getVendorUSB_ID(); -const int VENDOR_ID_GRAPHTEC = 0x0b4d; int PRODUCT_ID = ProgramOptions::Instance().getProductUSB_ID(); -const int PRODUCT_ID_CC200_20 = 0x110a; -const int PRODUCT_ID_SILHOUETTE_SD_1 = 0x111c; -const int PRODUCT_ID_SILHOUETTE_SD_2 = 0x111d; #include #include @@ -87,10 +83,10 @@ cerr << "Error writing to device: " << UsbError(ret) << endl; return Error("Error writing to device: " + UsbError(ret)); } - if (transferred != data.length()) + if ((unsigned int)transferred != data.length()) { cerr << "Warning, some data not transferred correctly." << endl; - return Error("Some data not transfered. Attempted: " + ItoS(data.length()) + " Transferred: " + ItoS(transferred)); + return Error("Some data not transferred. Attempted: " + ItoS(data.length()) + " Transferred: " + ItoS(transferred)); } } return Success; @@ -127,33 +123,15 @@ // unsigned char *data, uint16_t length, unsigned int timeout); //} -Error Cut(QList cuts, double mediawidth, double mediaheight, int media, int speed, int pressure, bool trackenhancing, - bool regmark, bool regsearch, double regwidth, double reglength) +libusb_device_handle *UsbOpen(struct cutter_id *id) { - VENDOR_ID = ProgramOptions::Instance().getVendorUSB_ID(); - PRODUCT_ID = ProgramOptions::Instance().getProductUSB_ID(); - - cout << "Cutting... VENDOR_ID : " << VENDOR_ID << " PRODUCT_ID: " << PRODUCT_ID - << " mediawidth: " << mediawidth << " mediaheight: " << mediaheight - << "media: " << media << " speed: " << speed << " pressure: " << pressure - << " trackenhancing: " << trackenhancing << " regmark: " << regmark - << " regsearch:" << regsearch <<" regwidth:" << regwidth << " reglength: " << reglength << endl; - - if (media < 100 || media > 300) - media = 300; - if (speed < 1) - speed = 1; - if (speed > 10) - speed = 10; - if (pressure < 1) - pressure = 1; - if (pressure > 33) - pressure = 33; - libusb_device** list; ssize_t cnt = libusb_get_device_list(NULL, &list); if (cnt < 1) - return Error("Couldn't get usb device list."); + { + id->msg = Error("Couldn't get usb device list."); + return NULL; + } int err = 0; @@ -164,11 +142,21 @@ libusb_device_descriptor desc; libusb_get_device_descriptor(device, &desc); // I don't want to be more specific than this really. - if ((desc.idVendor == VENDOR_ID || desc.idVendor == VENDOR_ID_GRAPHTEC) && - (desc.idProduct == PRODUCT_ID || desc.idProduct == PRODUCT_ID_CC200_20 || desc.idProduct == PRODUCT_ID_SILHOUETTE_SD_1 || desc.idProduct == PRODUCT_ID_SILHOUETTE_SD_2)) + if ((desc.idVendor == VENDOR_ID || desc.idVendor == VENDOR_ID_GRAPHTEC) && + (desc.idProduct == PRODUCT_ID || + desc.idProduct == PRODUCT_ID_CC200_20 || + desc.idProduct == PRODUCT_ID_CC300_20 || + desc.idProduct == PRODUCT_ID_SILHOUETTE_SD_1 || + desc.idProduct == PRODUCT_ID_SILHOUETTE_SD_2 || + desc.idProduct == PRODUCT_ID_SILHOUETTE_CAMEO || + desc.idProduct == PRODUCT_ID_SILHOUETTE_PORTRAIT + ) + ) { // Just use the first one. Who has two?! found = device; + id->usb_product_id = desc.idProduct; + id->usb_vendor_id = desc.idVendor; break; } } @@ -176,7 +164,8 @@ if (!found) { libusb_free_device_list(list, 1); - return Error("Couldn't find Craft Robo 2 (USB device with Vendor ID with USB VendorID 0b4d and ProductID 110a). Is it connected to the system and powered on?"); + id->msg = Error("Couldn't find Craft Robo 2 (USB device with Vendor ID with USB VendorID 0b4d and ProductID 110a). Is it connected to the system and powered on?"); + return NULL; } libusb_device_handle* handle; @@ -185,21 +174,33 @@ if (err != 0) { libusb_free_device_list(list, 1); - return Error("Error accessing Craft Robo 2: " + UsbError(err) + ". Do you have permission (on Linux make sure you are in the group 'lp')."); + id->msg = Error("Error accessing Craft Robo 2: " + UsbError(err) + ". Do you have permission (on Linux make sure you are in the group 'lp')."); + return NULL; } libusb_free_device_list(list, 1); + id->msg = "Ready"; + return handle; +} +// caller can use UsbSend() afterwards, and should +// finally do libusb_release_interface(handle, 0); libusb_close(handle); +libusb_device_handle *UsbInit(struct cutter_id *id) +{ // Now do stuff with the handle. int r = 0; + libusb_device_handle* handle = UsbOpen(id); + if (!handle) return NULL; + if (libusb_kernel_driver_active(handle, 0) == 1) { r = libusb_detach_kernel_driver(handle, 0); if (r != 0) { libusb_close(handle); - return Error("Error detaching kernel USB driver: " + UsbError(r)); + id->msg = Error("Error detaching kernel USB driver: " + UsbError(r)); + return NULL; } } @@ -207,7 +208,8 @@ if (r != 0) { libusb_close(handle); - return Error("Error resetting device: " + UsbError(r)); + id->msg = Error("Error resetting device: " + UsbError(r)); + return NULL; } cout << "Selecting configuration." << endl; @@ -215,7 +217,8 @@ if (r < 0) { libusb_close(handle); - return Error("Error setting USB configuration: " + UsbError(r)); + id->msg = Error("Error setting USB configuration: " + UsbError(r)); + return NULL; } @@ -224,18 +227,113 @@ if (r < 0) { libusb_close(handle); - return Error("Error claiming USB interface: " + UsbError(r)); + id->msg = Error("Error claiming USB interface: " + UsbError(r)); + return NULL; } cout << "Setting alt interface." << endl; r = libusb_set_interface_alt_setting(handle, 0, 0); // Probably not really necessary. if (r < 0) { - return Error("Error setting alternate USB interface: " + UsbError(r)); + libusb_close(handle); + id->msg = Error("Error setting alternate USB interface: " + UsbError(r)); + return NULL; } cout << "Initialisation successful." << endl; + return handle; +} + +struct cutter_id *Identify() +{ + static struct cutter_id id = { "?", 0, 0 }; + libusb_device_handle *handle; + + if (1) + { + handle = UsbOpen(&id); + if (handle) + libusb_close(handle); + else + id.msg = "no device found"; + } + else + { + id.msg = Error("Cannot Identify while cut thread is running"); + } + return &id; +} + + +QList Transform_Silhouette_Cameo(QList cuts, double *mediawidth, double *mediaheight) +{ + const double devicewidth = 300; // cameo is 12inch aka 300mm wide + double w; + double h = *mediaheight; + + cout << "Transform_Silhouette_Cameo " << *mediawidth << "," << *mediaheight << endl; + if (0) + { + w = *mediawidth; + cout << "Paper right aligned" << endl; + } + else + { + w = devicewidth; + // adjust the used media area, so that the hardware does not clip. + *mediawidth = devicewidth; + cout << "Paper left aligned" << endl; + } + + + // flip it around 180 deg, and go backwards through the path list. + QList paths; + for (int i = cuts.size()-1; i >= 0; i--) + { + QPolygonF poly; + for (int j = 0; j < cuts[i].size(); j++) + { + // QPolygonF is a QList + double x = cuts[i][j].x(); + double y = cuts[i][j].y(); + poly << QPointF(w-x, h-y); + } + paths << poly; + } + return paths; +} +Error Cut(CutParams p) +{ + VENDOR_ID = ProgramOptions::Instance().getVendorUSB_ID(); + PRODUCT_ID = ProgramOptions::Instance().getProductUSB_ID(); + + cout << "Cutting... VENDOR_ID : " << VENDOR_ID << " PRODUCT_ID: " << PRODUCT_ID + << " mediawidth: " << p.mediawidth << " mediaheight: " << p.mediaheight + << "media: " << p.media << " speed: " << p.speed << " pressure: " << p.pressure + << " trackenhancing: " << p.trackenhancing << " regmark: " << p.regmark + << " regsearch:" << p.regsearch <<" regwidth:" << p.regwidth << " reglength: " << p.regheight << endl; + + if (p.media < 100 || p.media > 300) + p.media = 300; + if (p.speed < 1) + p.speed = 1; + if (p.speed > 10) + p.speed = 10; + if (p.pressure < 1) + p.pressure = 1; + if (p.pressure > 33) + p.pressure = 33; + + // how can VENDOR_ID / PRODUCT_ID report the correct values abve??? + struct cutter_id id = { "?", 0, 0 }; + libusb_device_handle* handle = UsbInit(&id); + if (id.usb_vendor_id == VENDOR_ID_GRAPHTEC && + id.usb_product_id == PRODUCT_ID_SILHOUETTE_CAMEO) + { + // should this also transform the regwidth regheigth or not? + p.cuts = Transform_Silhouette_Cameo(p.cuts, &p.mediawidth, &p.mediaheight); + } // TODO: Use exceptions. @@ -253,9 +351,14 @@ e = UsbReceive(handle, resp, 5000); if (!e) goto error; - if (resp != "0\x03") // 0 = Ready. 1 = Moving. " " = ?? + if (resp != "0\x03") // 0 = Ready. 1 = Moving. 2 = Nothing loaded. " " = ?? { - e = Error("Invalid response from plotter: " + resp); + if (resp == "1\x03") + e = Error("Moving, please try again."); + else if (resp == "2\x03") + e = Error("Empty tray, please load media."); // Silhouette Cameo + else + e = Error("Invalid response from plotter: " + resp); goto error; } @@ -277,23 +380,23 @@ // goto error; // } - e = UsbSend(handle, "FW" + ItoS(media) + "\x03"); + e = UsbSend(handle, "FW" + ItoS(p.media) + "\x03"); if (!e) goto error; - e = UsbSend(handle, "!" + ItoS(speed) + "\x03"); + e = UsbSend(handle, "!" + ItoS(p.speed) + "\x03"); if (!e) goto error; - e = UsbSend(handle, "FX" + ItoS(pressure) + "\x03"); + e = UsbSend(handle, "FX" + ItoS(p.pressure) + "\x03"); if (!e) goto error; // I think this sets the distance from the position of the plotter // head to the actual cutting point, maybe in 0.1 mms (todo: Measure blade). // It is 0 for the pen, 18 for cutting. // C possible stands for curvature. Not that any of the other letters make sense... - e = UsbSend(handle, "FC" + ItoS(media == 113 ? 0 : 18) + "\x03"); + e = UsbSend(handle, "FC" + ItoS(p.media == 113 ? 0 : 18) + "\x03"); if (!e) goto error; - e = UsbSend(handle, "FY" + ItoS(trackenhancing ? 0 : 1) + "\x03"); + e = UsbSend(handle, "FY" + ItoS(p.trackenhancing ? 0 : 1) + "\x03"); if (!e) goto error; // Set to portrait. FN1 does landscape but it's easier just to rotate the image. @@ -327,8 +430,8 @@ // Page size: height,width in 20ths of a mm minus a margin. This is for A4. TODO: Find maximum and use that. stringstream page; - int width = lroundl(mediawidth * 20.0); - int height = lroundl(mediaheight * 20.0); + int width = lroundl(p.mediawidth * 20.0); + int height = lroundl(p.mediaheight * 20.0); int margintop = ProgramOptions::Instance().getMarginTop(); int marginright = ProgramOptions::Instance().getMarginRight(); @@ -337,18 +440,18 @@ if (!e) goto error; e = UsbSend(handle, "FM1\x03"); // ? if (!e) goto error; - - if (regmark) + + if (p.regmark) { stringstream regmarkstr; regmarkstr.precision(0); string searchregchar = "23,"; - int regw = lroundl(regwidth * 20.0); - int regl = lroundl(reglength * 20.0); + int regw = lroundl(p.regwidth * 20.0); + int regl = lroundl(p.regheight * 20.0); e = UsbSend(handle, "TB50,381\x03"); //only with registration (it was TB50,1) ??? if (!e) goto error; - if (regsearch) + if (p.regsearch) searchregchar ="123,"; regmarkstr << "TB99\x03TB55,1\x03TB" + searchregchar + ItoS(regw) + "," + ItoS(regl) + "\x03"; @@ -393,7 +496,7 @@ e = UsbSend(handle, "TB50,1\x03"); // ??? if (!e) goto error; } - + if (!e) goto error; // I think this is the feed command. Sometimes it is 5588 - maybe a maximum? e = UsbSend(handle, "FO" + ItoS(height - margintop) + "\x03"); @@ -402,19 +505,18 @@ page.flags(ios::fixed); page.precision(0); page << "&100,100,100,\\0,0,Z" << ItoS(width) << "," << ItoS(height) << ",L0"; - - for (int i = 0; i < cuts.size(); ++i) + for (int i = 0; i < p.cuts.size(); ++i) { - if (cuts[i].size() < 2) + if (p.cuts[i].size() < 2) continue; - double x = cuts[i][0].x()*20.0; - double y = cuts[i][0].y()*20.0; + double x = p.cuts[i][0].x()*20.0; + double y = p.cuts[i][0].y()*20.0; double xorigin = ProgramOptions::Instance().getRegOriginWidthMM(); double yorigin = ProgramOptions::Instance().getRegOriginHeightMM(); - if (regmark) + if (p.regmark) { x = x - (xorigin*20.0); y = y + (yorigin*20.0); @@ -428,12 +530,12 @@ if (y > height) y = height; page << ",M" << x << "," << height-y; - for (int j = 1; j < cuts[i].size(); ++j) + for (int j = 1; j < p.cuts[i].size(); ++j) { - x = cuts[i][j].x()*20.0; - y = cuts[i][j].y()*20.0; + x = p.cuts[i][j].x()*20.0; + y = p.cuts[i][j].y()*20.0; - if (regmark) + if (p.regmark) { x = x - (xorigin*20.0); y = y + (yorigin*20.0); @@ -466,9 +568,10 @@ } } + page << "&1,1,1,TB50,0\x03"; // TB maybe .. ah I dunno. Need to experiment. No idea what &1,1,1 does either. - cout << page.str() << endl; + // cout << page.str() << endl; e = UsbSend(handle, page.str()); if (!e) goto error; @@ -490,6 +593,7 @@ return Success; error: // Hey, this is basically C and I can't be bothered to properly C++-ify it. TODO: Use exceptions. + cout << "Error: " << e << endl; libusb_release_interface(handle, 0); libusb_close(handle); return e; diff -Nru robocut-1.0.8/Plotter.h robocut-1.0.11/Plotter.h --- robocut-1.0.8/Plotter.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/Plotter.h 2017-09-14 00:23:04.000000000 +0000 @@ -27,6 +27,8 @@ using namespace std; +#include "CuttingThread.h" + // Perform the cut. Returns error state. Note that this just sends the data, it has no way of knowing whether it really // worked and there is no easy way to cancel it. // @@ -40,6 +42,22 @@ // regwidth/height: Distance between the registration marks. // // TODO: Apparently you can change the number of registration marks? -Error Cut(QList cuts, double mediawidth, double mediaheight, int media, int speed, int pressure, - bool trackenhancing, bool regmark, bool regsearch, - double regwidth, double reglength); +Error Cut(CutParams p); + + +const int VENDOR_ID_GRAPHTEC = 0x0b4d; +const int PRODUCT_ID_CC200_20 = 0x110a; +const int PRODUCT_ID_CC300_20 = 0x111a; +const int PRODUCT_ID_SILHOUETTE_SD_1 = 0x111c; +const int PRODUCT_ID_SILHOUETTE_SD_2 = 0x111d; +const int PRODUCT_ID_SILHOUETTE_CAMEO = 0x1121; +const int PRODUCT_ID_SILHOUETTE_PORTRAIT = 0x1123; + +struct cutter_id +{ + string msg; + int usb_vendor_id; + int usb_product_id; +}; + +struct cutter_id *Identify(); diff -Nru robocut-1.0.8/ProgramOptions.cpp robocut-1.0.11/ProgramOptions.cpp --- robocut-1.0.8/ProgramOptions.cpp 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/ProgramOptions.cpp 2017-09-14 00:23:04.000000000 +0000 @@ -28,9 +28,11 @@ ProgramOptions::ProgramOptions ( ) { -initAttributes(); + initAttributes(); +} +ProgramOptions::~ProgramOptions ( ) +{ } -ProgramOptions::~ProgramOptions ( ) { } ProgramOptions& ProgramOptions::Instance() { static ProgramOptions instance; @@ -470,10 +472,10 @@ void ProgramOptions::showVersion ( ) { cout << (version.toStdString()); // see main.cpp - cout << "\n\nCopyright (C) 2010\n"; + cout << "\n\nCopyright (C) 2015\n"; cout << "This is free software; see the source for copying conditions. There is NO\n"; cout << "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"; - cout << "Written by Tim Hutt and Markus Schulz \n"; + cout << "Written by Tim Hutt and Markus Schulz \n"; } void ProgramOptions::showShow ( ) diff -Nru robocut-1.0.8/ProgramOptions.h robocut-1.0.11/ProgramOptions.h --- robocut-1.0.8/ProgramOptions.h 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/ProgramOptions.h 2017-09-14 00:23:04.000000000 +0000 @@ -18,8 +18,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef PROGRAMOPTIONS_H -#define PROGRAMOPTIONS_H +#pragma once #include class ProgramOptions @@ -117,5 +116,3 @@ public: int GetOpt (int argc, char *argv[] ); }; - -#endif // PROGRAMOPTIONS_H diff -Nru robocut-1.0.8/Readme.md robocut-1.0.11/Readme.md --- robocut-1.0.8/Readme.md 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/Readme.md 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,179 @@ +# Robocut + +Robocut is a simple graphical program to allow you to cut graphics with a Graphtec Craft Robo 2 Vinyl Cutter model CC220-20 and Sihouette SD. It also works with several other Silhouette vinyl cutters. + +It can read SVG files produced by Inkscape, but it should also work with other SVG files. Unlike the official programs, Robocut can run on Linux and probably Mac OS X. + +## Authors + +At least: Tim Hutt, Markus Schulz, Juergen Weigert. + +## Installation Instructions + +### Windows + +Download the latest Windows binary release, and also [Zadig](http://zadig.akeo.ie/), which is the easiest way to install a libusb-compatible driver for your cutter. + +Run Zadig, and use it to install a driver for your device. You may need to check `Options->List all devices`. Any of the three driver options *should* work, but WinUSB definitely does so I'd go with that. + +Once that is complete you should just be able to run `Robocut.exe`. + +### OSX + +This is the easiest option - unzip the application and copy it to your Applications directory. Run it. If you are given a security warning about it being from an unidentified developer, go into your System Setting, then Security, then it should say something about Robocut with an `Open Anyway` button. Click it. + +### Linux + +On Ubuntu you can simply + + sudo apt-get install robocut + +If you wish to build from source, first install the dependencies - Qt5 and libusb-1.0. Then unzip the source and run + + qmake + make + +To install the binary system-wide just do + + sudo cp Robocut /usr/local/bin + +Finally *remember to make sure you are in the lp group*: + + adduser lp + +You will probably have to log out and log in again after that. + +## Usage Instructions + +Basic instructions are: + +1. Create a new A4 portrait drawing in Inkscape. (For the registration mark feature you can use the supplied public domain letter_reg-marks.svg file) +2. Make sure in the options, the default export DPI is 90.0 +3. Paste your stuff into the drawing. +4. Export as Plain SVG. +5. Open the SVG with Robocut. +6. Make sure it will cut correctly with the View->Animate option. +7. File->Cut. + +## Troubleshooting + +* It doesn't cut my fonts correctly?! + +Qt SVG only supports the SVG 1.2 Tiny standard and this has a limited SVG support. For example multiline text is something that is not supported by Robocut, however you can export your text to a path or just create each line separate. +The best option is to change them to paths (in Inkscape it is `Object->Convert to paths`), before exporting the SVG. + +* The cutter stops mid-cut. + +I'm not sure why this is. + +* The whole program crashes. + +This is possibly because you opened and SVG containing raster data. It shouldn't happen but it hasn't been fixed yet. + +* It says it can't find the cutter. + +Make sure the WinUSB driver is installed with Zadig on Windows. On Linux make sure you are in the `lp` group. + +## Changelog + +Master + +... + +1.0.11 + +* Windows and OSX binaries released for first time +* Add in-tree libusb for Windows. Not the best practice but it is only two files. +* Added Transform_Silhouette_Cameo() to rotate the plot as SVG onscreen. + Allow left aligned paper. Cameo has high x-coordinates to the left, + although the head homes at the left side. +* Added File->Reload (CTRL-L), this saves a lot of clicking and + scrolling through the file dialogue while adjusting the design. +* Added View->Identify to print the devices seen to stdout. This option is temporarily hidden in the menu + (via the .ui file) until it does something user-visible. +* Refactored UsbOpen() / UsbInit() from Plotter.cpp:Cut(). +* Added to about message and tooltip. Removed debug page dump on stdout; +* robocut.spec added, as used in https://build.opensuse.org/package/show?package=robocut&project=home:jnweiger +* Move all information to Readme.md rather than spreading it out over multiple files. +* Maybe very slightly better icon? It's still pretty rubbish! Contributions welcome! +* Change links to point to http://robocut.org/ +* Code style fixes +* Mouse zoom is the "standard" way now. +* Mouse zooms to the cursor. + +1.0.10 +* Fixed missing image files. + +1.0.9 +* Add USB ID 111A for CC300-20 Craft Robo Lite as another default. + +1.0.8 +* changes in Robocut.pro for qmake so no QT files are shipped (Debian requirement) + +1.0.7 +* Add USB ID 111C as another default. + +1.0.6 +* Tim fixed drawing bug +* changed from float to int for output to plotter, fixes crash of 2nd +gen plotter model +* changed display pen size to 0 +* Tim fixed track enhancing option was inverted. + +1.0.5 +* adding all the changes needed for Debian +* fixed watch file +* make binary lower case +* removed redundant copyright form the copyright file +* recreated all the images so we have the copyright +* added vcs information to control file +* merged mentor in to master + +1.0.4 + +* add .desktop file for Ubuntu +* default needs to be 10 for pressure +* get menu working +* better sample reg file + +1.0.3 + +* manpage +* command line interface +* mouse wheel zoom +* change the draw command to move command if the cut is on the outer edge, +kind of clipping (but not in preview) +* dash pattern from path +* sort the different paths to cut faster +* bounding box option to cut inside path first (good for letters) +* registration mark support + +1.0.2 + +* Initial Release on Ubuntu. + +Master + +* Some brief documentation +* Initial registration mark support +* Load page size from file +* Small UI improvements + +Version 0.2 - a3b13ad - Oct 24th 2010 + +* Initial working version. + +# Licence + +All code is GPL3 licensed. + +# TODO + +Silhouette Cameo + - paint 24mm blocked area in the GUI at the bottom of the paper. + - put the Identify() output in a GUI element (rather than stdout). + - new sorting algorithm to limit backward movements + to max 20mm, so that we can cut paper and cardboard + without a mat in many cases. + - debug this: when the paper was moved with the devices cursor keys, + "cut" will just home the paper and not cut at all. diff -Nru robocut-1.0.8/Robocut.pro robocut-1.0.11/Robocut.pro --- robocut-1.0.8/Robocut.pro 2011-08-13 20:35:08.000000000 +0000 +++ robocut-1.0.11/Robocut.pro 2017-09-14 00:23:04.000000000 +0000 @@ -2,15 +2,14 @@ # Project created by QtCreator 2010-10-03T18:21:30 # ------------------------------------------------- TARGET = robocut -VERSION = 1.0.8 +VERSION = 1.0.11 TEMPLATE = app INSTALLS += icon \ target target.path = /usr/bin icon.files += ./images/robocut.xpm icon.path = /usr/share/pixmaps/ -QMAKE_EXTRA_TARGETS += release tarball - + SOURCES += main.cpp \ MainWindow.cpp \ Plotter.cpp \ @@ -37,29 +36,65 @@ CutDialog.ui \ CuttingDialog.ui -LIBS += -lusb-1.0 +QMAKE_CXXFLAGS += -std=c++11 + +QMAKE_CPPFLAGS *= $(shell dpkg-buildflags --get CPPFLAGS) +QMAKE_CFLAGS *= $(shell dpkg-buildflags --get CFLAGS) +QMAKE_CXXFLAGS *= $(shell dpkg-buildflags --get CXXFLAGS) +QMAKE_LFLAGS *= $(shell dpkg-buildflags --get LDFLAGS) + +DEFINES += ROBOCUT_VERSION=\\\"$$VERSION\\\" + +unix:LIBS += -lusb-1.0 +win32:LIBS += $$_PRO_FILE_PWD_/libusb-windows/libusb-1.0.a + +win32:INCLUDEPATH += $$_PRO_FILE_PWD_/libusb-windows QT += svg RESOURCES += \ resources.qrc - -release.depends = tarball -tarball.target = $${TARGET}-$${VERSION}.tar.gz -tarball.commands = \ - $(DEL_FILE) -r $${TARGET}-$${VERSION} ; \ - $(MKDIR) $${TARGET}-$${VERSION} ; \ - $(COPY_DIR) * $${TARGET}-$${VERSION}/ ; \ - $(DEL_FILE) $${TARGET}-$${VERSION}/*.pro.user \ - $${TARGET}-$${VERSION}/$${TARGET}-$${VERSION}.tar.gz \ - $(DEL_FILE) -r $${TARGET}-$${VERSION}/$${TARGET}-$${VERSION} \ - $${TARGET}-$${VERSION}/autodist.sh ; \ - $(DEL_FILE) -r $${TARGET}-$${VERSION}/$${TARGET}-$${VERSION} \ - $${TARGET}-$${VERSION}/umbrello_stuff.xmi ; \ - $(DEL_FILE) -r $${TARGET}-$${VERSION}/$${TARGET}-$${VERSION} \ - $${TARGET}-$${VERSION}/robocut ; \ - $(DEL_FILE) -r $${TARGET}-$${VERSION}/$${TARGET}-$${VERSION} \ - $${TARGET}-$${VERSION}/Makefile ; \ - tar -cz --exclude=.svn --exclude=*.tar.gz -f $$tarball.target $${TARGET}-$${VERSION} ; \ - $(DEL_FILE) -r $${TARGET}-$${VERSION} +DISTFILES += \ + readme.txt \ + install.txt \ + changelog \ + images/cap-blue.png \ + images/cap-pen.png \ + images/cap-red.png \ + images/cap-yellow.png \ + images/icon.png \ + images/robocut.xpm \ + images/cap.xcf \ + images/pen.xcf \ + examples/a4_reg-marks_h260.svg \ + examples/legal_reg-marks_h310.svg \ + examples/letter_reg-marks.svg \ + robocut.spec \ + Readme.md + + +# Instructions for Windows release: + +# In Qt Creator, go to Projects->Run +# Add->Deployment configuration +# Rename->"Create Windows Release" +# Add Deploy Step->Custom Process Step +# +# Command: C:\Qt\5.4\mingw491_32\bin\windeployqt.exe +# Argument: --dir Robocut --compiler-runtime robocut.exe +# Working dir: %{buildDir}/%{CurrentBuild:Type} +# +# Add another process step: +# +# Command: C:\Windows\System32\xcopy.exe +# Argument: /Y robocut.exe Robocut +# Working dir: %{buildDir}/%{CurrentBuild:Type} +# +# Select that deployment method and run the program. You should be given a directory with all the required files in +# it. Before you zip and upload it, exit Qt creator and rename c:\Qt to c:\Qt2. Re-run it to verify that it works +# without the Qt SDK installed. +# +# Note that there is a minor flaw in this deployment method - if you later update your Qt SDK it will find the updated +# DLLs in c:\Qt *before* it finds the local Qt DLLs and won't run properly. The solution is to add a qt.conf +# file, but that makes development more of a faff. Anyway, Qt Windows deployment is a big mess. diff -Nru robocut-1.0.8/robocut.spec robocut-1.0.11/robocut.spec --- robocut-1.0.8/robocut.spec 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/robocut.spec 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,67 @@ +# norootforbuild + +Name: robocut +Group: Productivity/Graphics/Other +Version: 1.0.10 +Release: 1 +License: GPL-3.0+ +Summary: A program to cut SVG with CC220-20 and Silhouette SD/Cameo +Autoreqprov: on +# http://custom.ultramini.net/robocut-compatible-with-silhouette-cameo/ +URL: https://github.com/nosliwneb/robocut +Source0: robocut-%{version}_1c019e7fad.zip +Source1: opensuse_chameleon_silhouette_x6.svg +BuildRoot:%{_tmppath}/%{name}-%{version}-build +BuildRequires: libqt4-devel libusb-1_0-devel unzip +# sudo apt-get install libqt4-dev libusb-1.0-0-dev git-core + +%description +Robocut is a simple graphical program to allow you to cut graphics with a +Graphtec Craft Robo 2 Vinyl Cutter model CC220-20 and Sihouette SD, among other devices. + +It can read SVG files produced by Inkscape, but it should also work with other +SVG files. Unlike the official programs, Robocut can run on Linux and probably +Mac OS X. + +Inside the “examples” folder there is also a registration marks template fully +functional (yes, the Silhouette Cameo is able to recognize registration marks +also under Robocut, just put the page with the arrow pointing toward the +plotter and align the sheet with the top left corner of the cutting mat). + +Authors + + Tim Hutt, Markus Schulz + +%prep +%setup -n %{name}-master + +# opensuse_chameleon_silhouette_x6.svg +cp %{SOURCE1} . + +%build +qmake +make + +%install +install -D robocut $RPM_BUILD_ROOT/usr/bin/robocut +install -m 0644 -D images/robocut.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/robocut.xpm +install -d $RPM_BUILD_ROOT/usr/share/robocut/examples +install -m 0644 *.svg examples/* $RPM_BUILD_ROOT/usr/share/robocut/examples +install -m 0644 -D manfile.txt $RPM_BUILD_ROOT/usr/share/man/man1/robocut.1 + +# cleanup + +%files +%defattr(-,root,root) +%doc readme.txt changelog + +%_bindir/* +%_datadir/pixmaps/* +%dir %_datadir/robocut +%_datadir/robocut/* +%_mandir/man1/* + +%clean +rm -rf $RPM_BUILD_ROOT + +%changelog diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,38 @@ +# +# Qmake configuration for the GNU C++ compiler +# +# Before making changes to this file, please read the comment in +# gcc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +QMAKE_COMPILER = gcc + +QMAKE_CC = gcc + +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +QMAKE_CXX = g++ + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +QMAKE_PCH_OUTPUT_EXT = .gch + +QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} +QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +QMAKE_CXXFLAGS_CXX11 = -std=c++11 +QMAKE_CXXFLAGS_CXX14 = -std=c++1y +QMAKE_CXXFLAGS_CXX1Z = -std=c++1z +QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11 +QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y +QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z +QMAKE_LFLAGS_CXX11 = +QMAKE_LFLAGS_CXX14 = +QMAKE_LFLAGS_CXX1Z = diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,105 @@ +# +# This file is used as a basis for the following compilers: +# +# - The GNU C++ compiler (g++) +# - LLVM +# - Clang +# +# Platform-specific options shared by these compilers are put into: +# +# - gcc-base-mac.conf +# - gcc-base-unix.conf +# +# These base files are then combined with configurations for each compiler: +# +# - g++-base.conf +# - g++-macx.conf +# - g++-unix.conf +# - llvm.conf +# - clang.conf +# +# The combination happens in the top level mkspec, by including a platform- +# specific version of the base-file, for example gcc-base-mac.conf, and then +# a (possibly platform-specific) version of the actual compiler configuration, +# for example g++-macx.conf. +# +# If you are making changes to any of these files, please consider the +# possible effect it may have due to these include-rules, and whether it +# might make more sense to share the rule or make it more specific. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +QMAKE_CFLAGS_OPTIMIZE = -O2 +QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 + +QMAKE_CFLAGS += -pipe +QMAKE_CFLAGS_DEPS += -M +QMAKE_CFLAGS_WARN_ON += -Wall -W +QMAKE_CFLAGS_WARN_OFF += -w +QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g +QMAKE_CFLAGS_DEBUG += -g +QMAKE_CFLAGS_SHLIB += -fPIC +QMAKE_CFLAGS_STATIC_LIB += -fPIC +QMAKE_CFLAGS_APP += -fPIC +QMAKE_CFLAGS_ISYSTEM = -isystem +QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions +QMAKE_CFLAGS_SPLIT_SECTIONS += -ffunction-sections +QMAKE_CFLAGS_LTCG = -flto -fno-fat-lto-objects +QMAKE_CFLAGS_LTCG_FATOBJECTS = -ffat-lto-objects +QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto + +QMAKE_CXXFLAGS += $$QMAKE_CFLAGS +QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP +QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden +QMAKE_CXXFLAGS_EXCEPTIONS_OFF += $$QMAKE_CFLAGS_EXCEPTIONS_OFF +QMAKE_CXXFLAGS_SPLIT_SECTIONS += $$QMAKE_CFLAGS_SPLIT_SECTIONS +QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG +QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS +QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG + +QMAKE_LFLAGS += +QMAKE_LFLAGS_DEBUG += +QMAKE_LFLAGS_APP += +QMAKE_LFLAGS_RELEASE += +QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += +QMAKE_LFLAGS_EXCEPTIONS_OFF += +QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG -fuse-linker-plugin + +QMAKE_CFLAGS_SSE2 += -msse2 +QMAKE_CFLAGS_SSE3 += -msse3 +QMAKE_CFLAGS_SSSE3 += -mssse3 +QMAKE_CFLAGS_SSE4_1 += -msse4.1 +QMAKE_CFLAGS_SSE4_2 += -msse4.2 +QMAKE_CFLAGS_AVX += -mavx +QMAKE_CFLAGS_AVX2 += -mavx2 +QMAKE_CFLAGS_AVX512F += -mavx512f +QMAKE_CFLAGS_AVX512ER += -mavx512er +QMAKE_CFLAGS_AVX512CD += -mavx512cd +QMAKE_CFLAGS_AVX512PF += -mavx512pf +QMAKE_CFLAGS_AVX512DQ += -mavx512dq +QMAKE_CFLAGS_AVX512BW += -mavx512bw +QMAKE_CFLAGS_AVX512VL += -mavx512vl +QMAKE_CFLAGS_AVX512IFMA += -mavx512ifma +QMAKE_CFLAGS_AVX512VBMI += -mavx512vbmi +QMAKE_CFLAGS_NEON += -mfpu=neon + +# Wrapper tools that understand .o/.a files with GIMPLE instead of machine code +QMAKE_AR_LTCG = gcc-ar cqs +QMAKE_NM_LTCG = gcc-nm -P +QMAKE_RANLIB_LTCG = true # No need to run since gcc-ar has "s" + +include(sanitize.conf) diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,25 @@ +# +# Base qmake configuration for GCC on *nix-systems +# +# Before making changes to this file, please read the comment in +# gcc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +include(gcc-base.conf) + +QMAKE_LFLAGS_SHLIB += -shared +QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB +QMAKE_LFLAGS_SONAME += -Wl,-soname, +QMAKE_LFLAGS_THREAD += +QMAKE_LFLAGS_RPATH = -Wl,-rpath, +QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link, +QMAKE_LFLAGS_NEW_DTAGS = -Wl,--enable-new-dtags +QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold + +# -Bsymbolic-functions (ld) support +QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions +QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list, +QMAKE_LFLAGS_VERSION_SCRIPT = -Wl,--version-script, diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,14 @@ +# +# Qmake configuration for the GNU C++ compiler on *nix-systems +# +# Before making changes to this file, please read the comment in +# gcc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +include(g++-base.conf) + +QMAKE_LFLAGS_RELEASE += -Wl,-O1 +QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,58 @@ +# +# qmake configuration for common linux +# + +QMAKE_PLATFORM += linux + +include(unix.conf) + +QMAKE_CFLAGS_THREAD += -D_REENTRANT +QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD +QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections + +QMAKE_LFLAGS_REL_RPATH = -Wl,-z,origin +QMAKE_REL_RPATH_BASE = $ORIGIN + +QMAKE_INCDIR = +QMAKE_LIBDIR = +QMAKE_INCDIR_X11 = +QMAKE_LIBDIR_X11 = +QMAKE_INCDIR_OPENGL = +QMAKE_LIBDIR_OPENGL = +QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL +QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL +QMAKE_INCDIR_EGL = +QMAKE_LIBDIR_EGL = +QMAKE_INCDIR_OPENVG = +QMAKE_LIBDIR_OPENVG = + +QMAKE_LIBS = +QMAKE_LIBS_DYNLOAD = -ldl +QMAKE_LIBS_X11 = -lXext -lX11 -lm +QMAKE_LIBS_NIS = -lnsl +QMAKE_LIBS_EGL = -lEGL +QMAKE_LIBS_OPENGL = -lGL +QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 +QMAKE_LIBS_OPENVG = -lOpenVG +QMAKE_LIBS_THREAD = -lpthread +QMAKE_LIBS_LIBUDEV = -ludev + +QMAKE_CFLAGS_WAYLAND = +QMAKE_INCDIR_WAYLAND = +QMAKE_LIBS_WAYLAND_CLIENT = -lwayland-client +QMAKE_LIBS_WAYLAND_SERVER = -lwayland-server +QMAKE_LIBDIR_WAYLAND = +QMAKE_DEFINES_WAYLAND = +QMAKE_WAYLAND_SCANNER = wayland-scanner + +QMAKE_CFLAGS_XCB = +QMAKE_LIBS_XCB = +QMAKE_DEFINES_XCB = + +QMAKE_AR = ar cqs +QMAKE_OBJCOPY = objcopy +QMAKE_NM = nm -P +QMAKE_RANLIB = + +QMAKE_STRIP = strip +QMAKE_STRIPFLAGS_LIB += --strip-unneeded diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,23 @@ +# +# Qmake configuration for the GCC / Clang sanitize features +# + +QMAKE_COMMON_SANITIZE_CFLAGS = -fno-omit-frame-pointer +QMAKE_COMMON_SANITIZE_CXXFLAGS = -fno-omit-frame-pointer + +QMAKE_SANITIZE_ADDRESS_CFLAGS = -fsanitize=address +QMAKE_SANITIZE_ADDRESS_CXXFLAGS = -fsanitize=address +QMAKE_SANITIZE_ADDRESS_LFLAGS = -fsanitize=address + +QMAKE_SANITIZE_THREAD_CFLAGS = -fsanitize=thread +QMAKE_SANITIZE_THREAD_CXXFLAGS = -fsanitize=thread +QMAKE_SANITIZE_THREAD_LFLAGS = -fsanitize=thread + +QMAKE_SANITIZE_MEMORY_CFLAGS = -fsanitize=memory +QMAKE_SANITIZE_MEMORY_CXXFLAGS = -fsanitize=memory +QMAKE_SANITIZE_MEMORY_LFLAGS = -fsanitize=memory + +QMAKE_SANITIZE_UNDEFINED_CFLAGS = -fsanitize=undefined +QMAKE_SANITIZE_UNDEFINED_CXXFLAGS = -fsanitize=undefined +QMAKE_SANITIZE_UNDEFINED_LFLAGS = -fsanitize=undefined + diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,17 @@ +# +# qmake configuration for common unix +# + +QMAKE_PLATFORM += unix posix + +QMAKE_LEX = flex +QMAKE_LEXFLAGS += +QMAKE_YACC = yacc +QMAKE_YACCFLAGS += -d +QMAKE_YACCFLAGS_MANGLE += -p $base -b $base +QMAKE_YACC_HEADER = $base.tab.h +QMAKE_YACC_SOURCE = $base.tab.c +QMAKE_PREFIX_SHLIB = lib +QMAKE_EXTENSION_SHLIB = so +QMAKE_PREFIX_STATICLIB = lib +QMAKE_EXTENSION_STATICLIB = a diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,122 @@ +# This file is loaded by qmake right after loading the actual project file. + +contains(TEMPLATE, ".*(lib|app)"):CONFIG += have_target + +!have_target:!force_qt: CONFIG -= qt + +load(resolve_config) + +exclusive_builds: load(exclusive_builds_post) + +# If the TARGET looks like a path, split it into DESTDIR and the resulting TARGET +target_dir_part = $$dirname(TARGET) +!isEmpty(target_dir_part) { + isEmpty(DESTDIR): \ + DESTDIR = $$target_dir_part + else: \ + DESTDIR = $$DESTDIR/$$target_dir_part + + TARGET = $$basename(TARGET) + DESTDIR = $$clean_path($$DESTDIR) +} + +QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH) +!isEmpty(QT_BREAKPAD_ROOT_PATH): \ # quick test first whether requested ... + !static:release:have_target: \ # is it applicable? + !contains(TARGET, .*phony_target.*): \ # monster hack, you don't really see this here, right? ;) + system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) { # do we really have it? + CONFIG += breakpad force_debug_info + CONFIG -= no_debug_info separate_debug_info +} + +force_debug_info|debug: \ + CONFIG += debug_info + +force_debug_info { + QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO + QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO + QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO +} + +optimize_full { + !isEmpty(QMAKE_CFLAGS_OPTIMIZE):!isEmpty(QMAKE_CFLAGS_OPTIMIZE_FULL) { + QMAKE_CFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE + QMAKE_CXXFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE + QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_FULL + QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_FULL + } +} + +debug { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_DEBUG + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG + QMAKE_LFLAGS += $$QMAKE_LFLAGS_DEBUG + QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_DEBUG +} else { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE + QMAKE_LFLAGS += $$QMAKE_LFLAGS_RELEASE + QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE +} + +# disable special linker flags for host builds (no proper test for host support yet) +!host_build { + use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD + enable_new_dtags: QMAKE_LFLAGS += $$QMAKE_LFLAGS_NEW_DTAGS +} + +dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL +static:mac: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB +staticlib:unix { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_STATIC_LIB + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STATIC_LIB +} + +incredibuild_xge { + CONFIG -= incredibuild_xge + CONFIG = incredibuild_xge $$CONFIG +} + +silent { + # Ensure that we process silent.prf last, as it will mangle QMAKE_CXX + # and friends in a way that some of the other features (sdk.prf and + # simd.prf eg) do not handle. + CONFIG -= silent + CONFIG = silent $$CONFIG +} + +breakpad { + load(resolve_target) + DEBUGFILENAME = $$shell_quote($$system_path($$QMAKE_RESOLVED_TARGET)) + PROJECTPATH = $$shell_quote($$system_path($$OUT_PWD)) + + !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t) + QMAKE_POST_LINK = $$QMAKE_POST_LINK$$quote($${QT_BREAKPAD_ROOT_PATH}$${QMAKE_DIR_SEP}qtbreakpadsymbols $$DEBUGFILENAME $$PROJECTPATH) + !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP $$DEBUGFILENAME) +} + +c++11|c++14|c++1z { + # Disable special compiler flags for host builds + !host_build|!cross_compile { + c++1z: cxxstd = CXX1Z + else: c++14: cxxstd = CXX14 + else: cxxstd = CXX11 + } else { + # Fall back to c++11, because since 5.7 c++11 is required everywhere, + # including host builds + cxxstd = CXX11 + } + + # Check if we should disable the GNU extensions or not + !strict_c++:!isEmpty(QMAKE_CXXFLAGS_GNU$$cxxstd): cxxstd = GNU$$cxxstd + + QMAKE_CXXFLAGS += $$eval(QMAKE_CXXFLAGS_$$cxxstd) + QMAKE_LFLAGS += $$eval(QMAKE_LFLAGS_$$cxxstd) + + unset(cxxstd) +} + +!precompile_header: SOURCES += $$NO_PCH_SOURCES + +QMAKE_INCDIR += $$QMAKE_INCDIR_POST +QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,28 @@ +# This file is loaded by qmake right before each actual project file. +# Note that evaluating variable assignments from the command line +# still happens in between these two steps. + +load(exclusive_builds) +CONFIG = \ + lex yacc debug exceptions depend_includepath \ + testcase_targets import_plugins import_qpa_plugin \ + $$CONFIG + +contains(QT_CONFIG, c++11):lessThan(QT_COMPILER_STDCXX, 201103): CONFIG += c++11 + +!build_pass:defined(QT_EDITION, var):!equals(QT_EDITION, "OpenSource"):!equals(QT_EDITION, "Preview") { + # + # call license checker (but cache result for one day) + # + today = $$section(_DATE_, " ", 0, 2) + !isEqual(QMAKE_LICHECK_TIMESTAMP, $$today) { + !system("$$system_quote($$system_path($$[QT_HOST_BINS/src]/$$QT_LICHECK)) check" \ + "$$QT_RELEASE_DATE $$[QMAKE_SPEC] $$[QMAKE_XSPEC]"): \ + error("License check failed! Giving up ...") + + cache(QMAKE_LICHECK_TIMESTAMP, set stash, today) + } + unset(today) +} + +load(toolchain) diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,6 @@ +CONFIG -= exceptions_off +QMAKE_CFLAGS *= $$QMAKE_CFLAGS_EXCEPTIONS_ON +QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_EXCEPTIONS_ON +QMAKE_LFLAGS *= $$QMAKE_LFLAGS_EXCEPTIONS_ON +DEFINES -= QT_NO_EXCEPTIONS + diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,42 @@ + +defineTest(addExclusiveBuildsProper) { + !$$1:!fix_output_dirs: \ + return(true) + + for(build, 2) { + isEmpty($${build}.name) { + $${build}.name = $$title($$build) + export($${build}.name) + } + isEmpty($${build}.target) { + $${build}.target = $$lower($$build) + export($${build}.target) + } + isEmpty($${build}.dir_affix) { + $${build}.dir_affix = $$lower($$build) + export($${build}.dir_affix) + } + + $${build}.exclusive = $$2 + export($${build}.exclusive) + + QMAKE_EXCLUSIVE_BUILDS += $$build + } + + CONFIG *= exclusive_builds + export(CONFIG) + + export(QMAKE_EXCLUSIVE_BUILDS) + return(true) +} + +defineTest(addExclusiveBuilds) { + lessThan(ARGC, 2): \ + error("addExclusiveBuilds() requires at least two arguments") + + addExclusiveBuildsProper($$join(ARGS, _and_), $$ARGS) +} + +# Default directories to process +QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR +QMAKE_DIR_REPLACE_SANE += QGLTF_DIR diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,56 @@ +isEmpty(COPIES): return() +contains(TEMPLATE, .*subdirs): error("COPIES does not work with TEMPLATE=subdirs") + +build_pass:build_all:!isEqual(BUILD_PASS, $$first(BUILDS)) { + # Avoid that multiple build passes race with each other. + # This will fail to copy anything if the user explicitly invokes + # only the non-primary build. This is unfixable, as at qmake time + # we cannot possibly know how make will be invoked, yet we must + # predict it here. + return() +} + +defineReplace(qtStripProPwd) { + return($$relative_path($$1, $$_PRO_FILE_PWD_)) +} + +for (cp, COPIES) { + isEmpty($${cp}.files): next() + pfx = copy_$${cp} + notdir = false + dir = false + for (f, $${cp}.files) { + fil = $$absolute_path($$f, $$_PRO_FILE_PWD_) + tfiles = $$files($$fil/*) + isEmpty(tfiles): \ + notdir = true + else: \ + dir = true + $${pfx}.files += $$fil + } + $$dir:$$notdir: \ + error("COPIES entry $$cp lists both files and directories.") + path = $$eval($${cp}.path) + isEmpty(path): error("COPIES entry $$cp defines no .path") + base = $$eval($${cp}.base) + isEmpty(base) { + $${pfx}.output = $$path/${QMAKE_FILE_IN_NAME} + } else: isEqual(base, $$_PRO_FILE_PWD_) { + $${pfx}.output = $$path/${QMAKE_FUNC_FILE_IN_qtStripProPwd} + } else { + eval(defineReplace(qtStripSrcDir_$$cp) { \ + return(\$\$relative_path(\$\$1, $$val_escape(base))) \ + }) + $${pfx}.output = $$path/${QMAKE_FUNC_FILE_IN_qtStripSrcDir_$$cp} + } + $${pfx}.input = $${pfx}.files + !$$dir: \ + $${pfx}.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT_PATH} + else: !copy_dir_files: \ + $${pfx}.commands = $$QMAKE_COPY_DIR ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT_PATH} + else: \ + $${pfx}.commands = $$QMAKE_COPY_DIR ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + $${pfx}.name = COPY ${QMAKE_FILE_IN} + $${pfx}.CONFIG = no_link no_clean target_predeps + QMAKE_EXTRA_COMPILERS += $${pfx} +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,37 @@ +# +# Lex extra-compiler for handling files specified in the LEXSOURCES variable +# + +{ + lex.name = Lex ${QMAKE_FILE_IN} + lex.input = LEXSOURCES + lex_included { + lex.CONFIG += no_link + } else { + lex.variable_out = GENERATED_SOURCES + } + + isEmpty(QMAKE_LEXFLAGS_MANGLE):QMAKE_LEXFLAGS_MANGLE = -P${QMAKE_FILE_BASE} + QMAKE_LEXEXTRAFLAGS = $$QMAKE_LEXFLAGS + !yacc_no_name_mangle:QMAKE_LEXEXTRAFLAGS += $$QMAKE_LEXFLAGS_MANGLE + + contains(QMAKE_LEX, .*flex) { + # GNU flex, we can use -o outfile + lex.commands = $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS --nounistd -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} + } else { + # stupid POSIX lex, it only generates a file called lex.yy.c + # or lex.prefix.c if the -P option is active + intermediate_file = lex.yy.c + QMAKE_LEXEXTRAFLAGS = $$QMAKE_LEXFLAGS $$QMAKE_LEXFLAGS_MANGLE + + lex.commands = \ + -$(DEL_FILE) ${QMAKE_FILE_OUT}$$escape_expand(\\n\\t) \ + $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \ + $(MOVE) $$intermediate_file ${QMAKE_FILE_OUT} $$escape_expand(\\n\\t) + unset(intermediate_file) + } + lex.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_LEX}$${first(QMAKE_EXT_CPP)} + + silent:lex.commands = @echo Lex ${QMAKE_FILE_IN} && $$lex.commands + QMAKE_EXTRA_COMPILERS += lex +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,83 @@ + +#global defaults +qtPrepareTool(QMAKE_MOC, moc) +isEmpty(MOC_DIR):MOC_DIR = . +isEmpty(QMAKE_H_MOD_MOC):QMAKE_H_MOD_MOC = moc_ +isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc + +MOC_INCLUDEPATH = +for (inc, INCLUDEPATH): \ + MOC_INCLUDEPATH += $$absolute_path($$inc, $$_PRO_FILE_PWD_) +!no_include_pwd:!isEqual(OUT_PWD, $$_PRO_FILE_PWD_): \ + MOC_INCLUDEPATH += . +MOC_INCLUDEPATH = $$QMAKESPEC $$_PRO_FILE_PWD_ $$MOC_INCLUDEPATH $$QMAKE_DEFAULT_INCDIRS + +# On Windows, put the includes into a .inc file which moc will read, if the project +# has too many includes. We do this to overcome a command-line limit on Win < XP +WIN_INCLUDETEMP= +win32:count(MOC_INCLUDEPATH, 40, >) { + WIN_INCLUDETEMP = $$MOC_DIR/mocinclude.opt + + WIN_INCLUDETEMP_CONT = + for (inc, MOC_INCLUDEPATH): \ + WIN_INCLUDETEMP_CONT += -I$$inc + write_file($$absolute_path($$WIN_INCLUDETEMP, $$OUT_PWD), WIN_INCLUDETEMP_CONT)|error("Aborting.") +} + +defineReplace(mocCmdBase) { + RET = + !isEmpty(WIN_INCLUDETEMP) { + incvar = @$$WIN_INCLUDETEMP + } else { + incvar = + for (inc, MOC_INCLUDEPATH): \ + incvar += -I$$shell_quote($$inc) + incvar += $$QMAKE_FRAMEWORKPATH_FLAGS + } + RET += $$QMAKE_MOC $(DEFINES) $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$incvar $$QMAKE_MOC_OPTIONS + return($$RET) +} + +#moc headers +moc_header.CONFIG = moc_verify +moc_header.dependency_type = TYPE_C +moc_header.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} +moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)} +moc_header.input = HEADERS +moc_header.variable_out = SOURCES +moc_header.name = MOC ${QMAKE_FILE_IN} +moc_header.depends += $$WIN_INCLUDETEMP +silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands +QMAKE_EXTRA_COMPILERS += moc_header +INCREDIBUILD_XGE += moc_header + +#moc sources +moc_source.CONFIG = no_link moc_verify +moc_source.dependency_type = TYPE_C +moc_source.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} +moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC} +moc_source.input = SOURCES OBJECTIVE_SOURCES +moc_source.name = MOC ${QMAKE_FILE_IN} +moc_source.depends += $$WIN_INCLUDETEMP +silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands +QMAKE_EXTRA_COMPILERS += moc_source +INCREDIBUILD_XGE += moc_source + +#make sure we can include these files +INCLUDEPATH += $$absolute_path($$MOC_DIR, $$OUT_PWD) + +#auto depend on moc +!no_mocdepend { + moc_source.depends += $$QMAKE_MOC_EXE + moc_header.depends += $$QMAKE_MOC_EXE +} + +#generate a mocclean +build_pass|isEmpty(BUILDS):mocclean.depends = compiler_moc_header_clean compiler_moc_source_clean +else:mocclean.CONFIG += recursive +QMAKE_EXTRA_TARGETS += mocclean + +#generate a mocables +build_pass|isEmpty(BUILDS):mocables.depends = compiler_moc_header_make_all compiler_moc_source_make_all +else:mocables.CONFIG += recursive +QMAKE_EXTRA_TARGETS += mocables diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,50 @@ +# This file is loaded as one of the last things by all qmakespecs. + +QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri +!exists($$QMAKE_QT_CONFIG)|!include($$QMAKE_QT_CONFIG, "", true) { + debug(1, "Cannot load qconfig.pri!") +} else { + debug(1, "Loaded .qconfig.pri from ($$QMAKE_QT_CONFIG)") + dirs = $$(QMAKEMODULES) + QMAKE_MODULE_PATH = $$split(dirs, $$DIRLIST_SEPARATOR) + QMAKE_MODULE_PATH += $$QMAKEMODULES + dirs = $$[QMAKEMODULES] + QMAKE_MODULE_PATH += $$split(dirs, $$DIRLIST_SEPARATOR) + dirs = $$[QMAKE_MKSPECS] + dirs = $$split(dirs, $$DIRLIST_SEPARATOR) + QMAKE_MODULE_PATH += $$replace(dirs, \$, /modules) + unset(dirs) + QMAKE_MODULE_PATH = $$unique(QMAKE_MODULE_PATH) + QMAKE_MODULE_PATH = $$reverse(QMAKE_MODULE_PATH) + for(dir, QMAKE_MODULE_PATH) { + debug(1, "Loading modules from $${dir}") + mods = $$files($$dir/qt_*.pri) + for (mod, mods) { + # For installed Qt these paths will be common for all modules. + # For uninstalled prefix builds these will vary per module, via the + # forwarding module pri files. Keep qt_module_pris.prf in sync with this! + QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS] + QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS] + QT_MODULE_HOST_LIB_BASE = $$[QT_HOST_LIBS] + QT_MODULE_PLUGIN_BASE = $$[QT_INSTALL_PLUGINS] + QT_MODULE_LIBEXEC_BASE = $$[QT_INSTALL_LIBEXECS] + QT_MODULE_BIN_BASE = $$[QT_INSTALL_BINS] + QT_MODULE_IMPORT_BASE = $$[QT_INSTALL_IMPORTS] + QT_MODULE_QML_BASE = $$[QT_INSTALL_QML] + include($$mod) + } + unset(mods) + } + QT_MODULES = $$unique(QT_MODULES) # In case modules appear in multiple places + unset(QT_MODULE_INCLUDE_BASE) + unset(QT_MODULE_LIB_BASE) + unset(QT_MODULE_HOST_LIB_BASE) + unset(QT_MODULE_PLUGIN_BASE) + unset(QT_MODULE_LIBEXEC_BASE) + unset(QT_MODULE_BIN_BASE) + unset(QT_MODULE_IMPORT_BASE) + unset(QT_MODULE_QML_BASE) +} + +load(qt_functions) + diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,306 @@ + +defineReplace(qtPlatformTargetSuffix) { + ios:CONFIG(simulator, simulator|device): \ + suffix = _$${simulator.sdk} + else: \ + suffix = + + CONFIG(debug, debug|release) { + !debug_and_release|build_pass { + mac: return($${suffix}_debug) + win32: return($${suffix}d) + } + } + return($$suffix) +} + +defineReplace(qtLibraryTarget) { + LIBRARY_NAME = $$1 + CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { + QMAKE_FRAMEWORK_BUNDLE_NAME = $$LIBRARY_NAME + export(QMAKE_FRAMEWORK_BUNDLE_NAME) + } + return($$LIBRARY_NAME$$qtPlatformTargetSuffix()) +} + +defineReplace(qt5LibraryTarget) { + LIBRARY_NAME = $$qtLibraryTarget($$1) + isEmpty(QMAKE_FRAMEWORK_BUNDLE_NAME) { + # Insert the major version of Qt in the library name + # unless it's a framework build. + LIBRARY_NAME ~= s,^Qt,Qt$$QT_MAJOR_VERSION, + } + return($$LIBRARY_NAME) +} + +defineReplace(qtRelativeRPathBase) { + darwin { + if(equals(TEMPLATE, app):app_bundle)|\ + if(equals(TEMPLATE, lib):plugin:plugin_bundle) { + ios: return($$target.path/$${TARGET}.app) + return($$target.path/$${TARGET}.app/Contents/MacOS) + } + equals(TEMPLATE, lib):!plugin:lib_bundle: \ + return($$target.path/$${TARGET}.framework/Versions/Current) + } + return($$target.path) +} + +defineTest(qtAddLibrary) { + warning("qtAddLibrary() is deprecated. Use QT+= instead.") + + # Reverse-engineer the module name from the library name. + for(var, QT_MODULES) { + isEqual(QT.$${var}.name, $$1) { + QT += $$var + export(QT) + return(true) + } + } + error("No module matching library '$$1' found.") +} + +# qt module +defineTest(qtHaveModule) { + !isEmpty(QT.$$replace(1, -, _).name): \ + return(true) + return(false) +} + +# variable, default, [suffix for variable for system() use], [prepare primary variable for system() use] +defineTest(qtPrepareTool) { + cmd = $$eval(QT_TOOL.$${2}.binary) + isEmpty(cmd) { + cmd = $$[QT_HOST_BINS]/$$2 + exists($${cmd}.pl) { + $${1}_EXE = $${cmd}.pl + cmd = perl -w $$system_path($${cmd}.pl) + } else: contains(QMAKE_HOST.os, Windows) { + $${1}_EXE = $${cmd}.exe + cmd = $$system_path($${cmd}.exe) + } else:contains(QMAKE_HOST.os, Darwin) { + BUNDLENAME = $${cmd}.app/Contents/MacOS/$$2 + exists($$BUNDLENAME) { + cmd = $$BUNDLENAME + } + $${1}_EXE = $$cmd + } else { + $${1}_EXE = $$cmd + } + } else { + $${1}_EXE = $$last(cmd) + } + export($${1}_EXE) + QT_TOOL_ENV += $$eval(QT_TOOL.$${2}.envvars) + QT_TOOL_NAME = $$2 + !isEmpty(3)|!isEmpty(4) { + $$1$$3 = + for (arg, cmd): \ + $$1$$3 += $$system_quote($$arg) + qtAddTargetEnv($$1$$3, QT_TOOL.$${2}.depends, system) + } + isEmpty(4) { + $$1 = + for (arg, cmd): \ + $$1 += $$shell_quote($$arg) + qtAddTargetEnv($$1, QT_TOOL.$${2}.depends, ) + } +} + +# target variable, list of env var names, [non-empty: prepare for system(), not make] +defineTest(qtAddToolEnv) { + isEmpty(3): \ + ds = $$QMAKE_DIR_SEP + else: \ + ds = $$DIR_SEPARATOR + batch_sets = + for(env, 2) { + value = $$eval($${env}.value) + !isEmpty(value) { + name = $$eval($${env}.name) + config = $$eval($${env}.CONFIG) + equals(ds, /) { + contains(config, prepend): infix = \${$$name:+:\$$$name} + else: contains(config, always_prepend): infix = :\$$$name + else: infix = + # Under msys, this path is taken only in the non-system() + # case, so using shell_quote() always works. + batch_sets += \ + "$$name=$$shell_quote($$join(value, :))$$infix" \ + "export $$name" + } else { + value ~= s,\\^,^^^^,g + value ~= s,!,^^!,g + value ~= s,\\),^),g + contains(config, prepend) { + batch_sets += \ + "if defined $$name (" \ + " set $$name=$$join(value, ;);!$$name!" \ + ") else (" \ + " set $$name=$$join(value, ;)" \ + ")" + } else: contains(config, always_prepend) { + batch_sets += "(set $$name=$$join(value, ;);!$$name!)" + } else { + batch_sets += "(set $$name=$$join(value, ;))" + } + } + } + } + !isEmpty(batch_sets) { + batch_name = wrapper + !isEmpty(QT_TOOL_NAME): batch_name = $${QT_TOOL_NAME}_wrapper + cmd = $$eval($$1) + !isEmpty(cmd): cmd = "$$cmd " + equals(ds, /) { + batch_name = $${batch_name}.sh + batch_cont = \ + "$$LITERAL_HASH!/bin/sh" \ + $$batch_sets \ + "exec $$cmd\"$@\"" + # It would be nicer to use the '.' command (without 'exec' above), + # but that doesn't set the positional arguments under (d)ash. + $$1 = + } else { + batch_name = $${batch_name}.bat + batch_cont = \ + "@echo off" \ + "SetLocal EnableDelayedExpansion" \ + $$batch_sets \ + "$$cmd%*" \ + "EndLocal" + $$1 = call + } + !build_pass:!write_file($$OUT_PWD/$$batch_name, batch_cont, exe): error("Aborting.") + isEmpty(3): \ + $$1 += $$shell_quote($$shell_path($$OUT_PWD/$$batch_name)) + else: \ + $$1 += $$system_quote($$system_path($$OUT_PWD/$$batch_name)) + QMAKE_DISTCLEAN += $$OUT_PWD/$$batch_name + } + export($$1) + export(QMAKE_DISTCLEAN) +} + +# target variable, dependency var name, [non-empty: prepare for system(), not make] +defineTest(qtAddTargetEnv) { + deps = $$replace($$2, -private$, _private) + deps = $$resolve_depends(deps, "QT.", ".depends" ".run_depends") + !isEmpty(deps) { + deppath.CONFIG = prepend + equals(QMAKE_HOST.os, Windows) { + deppath.CONFIG = always_prepend + deppath.name = PATH + } else:contains(QMAKE_HOST.os, Linux|FreeBSD|OpenBSD|NetBSD|DragonFly|SunOS|HP-UX|QNX|GNU) { + deppath.name = LD_LIBRARY_PATH + } else:contains(QMAKE_HOST.os, ^GNU/.*) { + deppath.name = LD_LIBRARY_PATH + } else:contains(QMAKE_HOST.os, Haiku) { + deppath.name = LIBRARY_PATH + } else:equals(QMAKE_HOST.os, Darwin) { + contains(QT_CONFIG, qt_framework): \ + deppath.name = DYLD_FRAMEWORK_PATH + else: \ + deppath.name = DYLD_LIBRARY_PATH + } else:equals(QMAKE_HOST.os, AIX) { + deppath.name = LIBPATH + } else { + error("Operating system not supported.") + } + ptypes = + for(dep, deps) { + isEmpty(3): \ + deppath += $$shell_path($$eval(QT.$${dep}.libs)) + else: \ + deppath += $$system_path($$eval(QT.$${dep}.libs)) + ptypes += $$eval(QT.$${dep}.plugin_types) + } + deppath.value = $$unique(deppath) + + pluginpath.value = + ppaths = $$[QT_INSTALL_PLUGINS/get] + for(qplug, QT_PLUGINS): \ + contains(ptypes, $$eval(QT_PLUGIN.$${qplug}.TYPE)): \ + ppaths += $$eval(QT_PLUGIN.$${qplug}.PATH) + ppaths = $$unique(ppaths) + for(qplug, ppaths) { + isEmpty(3): \ + pluginpath.value += $$shell_path($$qplug) + else: \ + pluginpath.value += $$system_path($$qplug) + } + pluginpath.name = QT_PLUGIN_PATH + pluginpath.CONFIG = prepend + + QT_TOOL_ENV += deppath pluginpath + } + qtAddToolEnv($$1, $$QT_TOOL_ENV, $$3) +} + +defineReplace(pkgConfigExecutable) { + isEmpty(PKG_CONFIG) { + !isEmpty(QMAKE_PKG_CONFIG): \ + PKG_CONFIG = $$QMAKE_PKG_CONFIG + else: \ + PKG_CONFIG = pkg-config + + sysroot.name = PKG_CONFIG_SYSROOT_DIR + sysroot.value = $$PKG_CONFIG_SYSROOT_DIR + libdir.name = PKG_CONFIG_LIBDIR + libdir.value = $$PKG_CONFIG_LIBDIR + QT_TOOL_NAME = pkg-config + qtAddToolEnv(PKG_CONFIG, sysroot libdir, SYS) + } + + equals(QMAKE_HOST.os, Windows): \ + PKG_CONFIG += 2> NUL + else: \ + PKG_CONFIG += 2> /dev/null + + return($$PKG_CONFIG) +} + +defineTest(packagesExist) { + contains(QT_CONFIG, no-pkg-config) { + warning("pkg-config disabled, can't check package existence") + return(false) + } + + # this can't be done in global scope here because qt_functions is loaded + # before the .pro is parsed, so if the .pro set PKG_CONFIG, we wouldn't know it + # yet. oops. + pkg_config = $$pkgConfigExecutable() + + for(package, ARGS) { + !system($$pkg_config --exists $$package):return(false) + } + + return(true) +} + +# Prepares target that will iterate through all subdirs (except those +# with no_default_target or no_{name_of_target}_target. The prepared +# target must still be manually added to QMAKE_EXTRA_TARGETS. +defineTest(prepareRecursiveTarget) { + target = $$1 + no_$${target}_target: return() + + for(subdir, SUBDIRS) { + subdir_config = $$eval($${subdir}.CONFIG) + contains(subdir_config, no_default_target): next() + contains(subdir_config, no_$${target}_target): next() + + $${target}.recurse += $$subdir + } + + # Set up the recurse target only when there + # is something to recurse into. + isEmpty($${target}.recurse): return() + + $${target}.CONFIG = recursive + $${target}.recurse_target = $${target} + + export($${target}.recurse) + export($${target}.CONFIG) + export($${target}.recurse_target) +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,379 @@ +CONFIG *= thread + +#handle defines +win32 { + contains(QT_CONFIG, shared) { + # this variable is read by qmake in qmake/generators/win32/msvc_vcproj.cpp + # function VcprojGenerator::initDeploymentTool() + QMAKE_DLL_PATHS += $$[QT_INSTALL_BINS/get] + } +} +CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG +contains(QT_CONFIG, force_asserts):DEFINES += QT_FORCE_ASSERTS +no_keywords:DEFINES += QT_NO_KEYWORDS +plugin { #Qt plugins + static:DEFINES += QT_STATICPLUGIN + DEFINES += QT_PLUGIN +} + +qtestlib { + warning("CONFIG+=qtestlib is deprecated. Use QT+=testlib instead.") + QT += testlib +} +qdbus { + warning("CONFIG+=qdbus is deprecated. Use QT+=dbus instead.") + QT += dbus +} +help { + warning("CONFIG+=help is deprecated. Use QT+=help instead.") + QT += help-private # sic! +} +designer { + warning("CONFIG+=designer is deprecated. Use QT+=designer instead.") + QT += designer +} +uitools { + warning("CONFIG+=uitools is deprecated. Use QT+=uitools instead.") + QT += uitools +} +qaxcontainer { + warning("CONFIG+=qaxcontainer is deprecated. Use QT+=axcontainer instead.") + QT += axcontainer +} +qaxserver { + warning("CONFIG+=qaxserver is deprecated. Use QT+=axserver instead.") + QT += axserver +} + +# target variable, flag source variable +defineTest(qtProcessModuleFlags) { + for(flag, $$2) { + contains(flag, ^-.*): \ + $$1 -= $$replace(flag, ^-, ) + else: \ + $$1 += $$flag + } + export($$1) +} + +unset(using_privates) +var_sfx = +for(ever) { + # qmake variables cannot contain dashes, so normalize the names first + CLEAN_QT$$var_sfx = $$replace(QT$$var_sfx, -private$, _private) + # Topological resolution of modules based on their QT..depends variable + FULL_QT$$var_sfx = $$resolve_depends(CLEAN_QT$$var_sfx, "QT.") + # Finally actually add the modules + unset(BAD_QT) + for(QTLIB, FULL_QT$$var_sfx) { + MODULE_NAME = $$eval(QT.$${QTLIB}.name) + MODULE_MODULE = $$eval(QT.$${QTLIB}.module) + MODULE_INCLUDES = $$eval(QT.$${QTLIB}.includes) + MODULE_LIBS = $$eval(QT.$${QTLIB}.libs) + MODULE_FRAMEWORKS = $$eval(QT.$${QTLIB}.frameworks) + MODULE_CONFIG = $$eval(QT.$${QTLIB}.module_config) + + isEmpty(MODULE_NAME) { + BAD_QT += $$QTLIB + next() + } + + contains(MODULE_CONFIG, internal_module): \ + using_privates = true + contains(MODULE_CONFIG, ltcg): \ + CONFIG += link_ltcg + + qtProcessModuleFlags(CONFIG, QT.$${QTLIB}.CONFIG) + qtProcessModuleFlags(DEFINES, QT.$${QTLIB}.DEFINES) + + MODULE_INCLUDES -= $$QMAKE_DEFAULT_INCDIRS + MODULE_LIBS_ADD = $$MODULE_LIBS + MODULE_LIBS_ADD -= $$QMAKE_DEFAULT_LIBDIRS + + !contains(MODULE_CONFIG, v2) { + # Backwards compatibility with pre-5.6 module .pri files + + contains(MODULE_CONFIG, lib_bundle) { + MODULE_FRAMEWORKS = $$MODULE_LIBS + inc = $$MODULE_LIBS/$${MODULE_NAME}.framework/Headers + MODULE_INCLUDES = $$inc + contains(MODULE_CONFIG, internal_module): \ + MODULE_INCLUDES += \ + $$inc/$$eval(QT.$${QTLIB}.VERSION) \ + $$inc/$$eval(QT.$${QTLIB}.VERSION)/$$MODULE_NAME + } else { + # Re-insert the major version in the library name (cf qt5LibraryTarget above) + MODULE_NAME ~= s,^Qt,Qt$$QT_MAJOR_VERSION, + } + + # Only link to this module if a libs directory is set, else this is just a module + # to give access to sources or include files, and not for linking. + !isEmpty(MODULE_LIBS):!contains(MODULE_CONFIG, no_link): \ + MODULE_MODULE = $${MODULE_NAME}$${QT_LIBINFIX} + } + + # Frameworks shouldn't need include paths, but much code does not use + # module-qualified #includes, so by default we add paths which point + # directly into the frameworks. Private modules have somewhat convoluted + # header paths, so adding them is necessary in every case. + !if(contains(MODULE_CONFIG, lib_bundle):qt_no_framework_direct_includes) \ + |contains(MODULE_CONFIG, internal_module): \ + INCLUDEPATH *= $$MODULE_INCLUDES + QMAKE_FRAMEWORKPATH *= $$MODULE_FRAMEWORKS + !isEmpty(MODULE_MODULE) { + contains(MODULE_CONFIG, lib_bundle) { + LIBS$$var_sfx += -framework $$MODULE_MODULE + } else { + !isEmpty(MODULE_LIBS_ADD): \ + LIBS$$var_sfx += -L$$MODULE_LIBS_ADD + + lib = $$MODULE_MODULE$$qtPlatformTargetSuffix() + LIBS$$var_sfx += -l$$lib + + contains(MODULE_CONFIG, staticlib): \ + PRE_TARGETDEPS *= $$MODULE_LIBS/$${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB} + + !isEmpty(QMAKE_LSB) { + !isEmpty(MODULE_LIBS_ADD): \ + QMAKE_LFLAGS *= --lsb-libpath=$$MODULE_LIBS_ADD + QMAKE_LFLAGS *= --lsb-shared-libs=$$lib + QMAKE_LIBDIR *= /opt/lsb/lib + } + } + } + # Add capabilities as defined by modules used in the project + winrt { + MODULE_WINRT_CAPABILITIES = $$eval(QT.$${QTLIB}.winrt_capabilities) + !isEmpty(MODULE_WINRT_CAPABILITIES): \ + WINRT_MANIFEST.capabilities_default += $$MODULE_WINRT_CAPABILITIES + MODULE_WINRT_CAPABILITIES_DEVICE = $$eval(QT.$${QTLIB}.winrt_capabilities_device) + !isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \ + WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE + } + } + !isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)") + + !isEmpty(var_sfx): break() + var_sfx = _PRIVATE +} +!isEmpty(using_privates):!no_private_qt_headers_warning:!build_pass { + message("This project is using private headers and will therefore be tied to this specific Qt module build version.") + message("Running this project against other versions of the Qt modules may crash at any arbitrary point.") + message("This is not a bug, but a result of using Qt internals. You have been warned!") +} + +qt_module_deps = $$CLEAN_QT $$CLEAN_QT_PRIVATE +qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") + +!no_qt_rpath:!static:contains(QT_CONFIG, rpath):!contains(QT_CONFIG, static):\ + contains(qt_module_deps, core) { + relative_qt_rpath:!isEmpty(QMAKE_REL_RPATH_BASE):contains(INSTALLS, target):\ + isEmpty(target.files):isEmpty(target.commands):isEmpty(target.extra) { + # NOT the /dev property, as INSTALLS use host paths + QMAKE_RPATHDIR += $$relative_path($$[QT_INSTALL_LIBS], $$qtRelativeRPathBase()) + } else { + QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] + } +} + +!isEmpty(QMAKE_LFLAGS_RPATHLINK):!contains(QT_CONFIG, static) { + # -rpath-link is used by the linker to find dependencies of dynamic + # libraries which were NOT specified on the command line. + # This means that paths of direct dependencies (QT & QT_PRIVATE) + # don't need to be listed, unlike their private dependencies' paths. + privdep = $$resolve_depends(qt_module_deps, "QT.", ".depends" ".run_depends") + privdep -= $$qt_module_deps + rpaths = + for(dep, privdep): \ + rpaths += $$eval(QT.$${dep}.libs) + QMAKE_RPATHLINKDIR *= $$unique(rpaths) +} + +# static builds: link qml import plugins into the app. +contains(qt_module_deps, qml): \ + contains(QT_CONFIG, static):contains(TEMPLATE, .*app):!host_build:!no_import_scan { + !isEmpty(QTREPOS) { + for (qrep, QTREPOS): \ + exists($$qrep/qml): \ + QMLPATHS += $$qrep/qml + } else { + QMLPATHS += $$[QT_INSTALL_QML/get] + } + + # run qmlimportscanner + qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system) + for (QMLPATH, QMLPATHS): \ + IMPORTPATHS += -importPath $$system_quote($$QMLPATH) + + #message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) + JSON = $$system($$QMLIMPORTSCANNER $$system_quote($$_PRO_FILE_PWD_) $$IMPORTPATHS) + + parseJson(JSON, IMPORTS)| error("Failed to parse qmlimportscanner output.") + + !isEmpty(IMPORTS._KEYS_) { + # add import plugins to LIBS line + for (key, IMPORTS._KEYS_) { + PATH = $$eval(IMPORTS.$${key}.path) + PLUGIN = $$eval(IMPORTS.$${key}.plugin) + !isEmpty(PATH):!isEmpty(PLUGIN): LIBS *= -L$$PATH -l$${PLUGIN}$$qtPlatformTargetSuffix() + } + + # create qml_plugin_import.cpp + IMPORT_FILE_CONT = \ + "// This file is autogenerated by qmake. It imports static plugin classes for" \ + "// static plugins used by QML imports." \ + "$${LITERAL_HASH}include " + for (key, IMPORTS._KEYS_) { + PLUGIN = $$eval(IMPORTS.$${key}.plugin) + CLASSNAME = $$eval(IMPORTS.$${key}.classname) + !isEmpty(PLUGIN) { + !isEmpty(CLASSNAME) { + !contains(ADDED_IMPORTS, $$PLUGIN) { + ADDED_IMPORTS += $$PLUGIN + IMPORT_FILE_CONT += "Q_IMPORT_PLUGIN($$CLASSNAME)" + } + } else { + error("Plugin $$PLUGIN is missing a classname entry, please add one to the qmldir file.") + } + } + } + QML_IMPORT_CPP = $$OUT_PWD/$$lower($$basename(TARGET))_qml_plugin_import.cpp + write_file($$QML_IMPORT_CPP, IMPORT_FILE_CONT)|error("Aborting.") + GENERATED_SOURCES += $$QML_IMPORT_CPP + QMAKE_DISTCLEAN += $$QML_IMPORT_CPP + + # copy qml files. this part is platform spesific. + mac { + osx { + # Note: user can override QMAKE_BUNDLE_QML from pro file to change target bundle path + isEmpty(QMAKE_QML_BUNDLE_PATH):QMAKE_QML_BUNDLE_PATH = "Resources/qt_qml" + qmlTargetPath = $$OUT_PWD/$${TARGET}.app/Contents/$$QMAKE_QML_BUNDLE_PATH + qtconfTargetPath = $$OUT_PWD/$${TARGET}.app/Contents/Resources/qt.conf + } else { + # iOS: flat bundle layout (no Contents/Resources) + isEmpty(QMAKE_QML_BUNDLE_PATH):QMAKE_QML_BUNDLE_PATH = "qt_qml" + qmlTargetPath = $CODESIGNING_FOLDER_PATH/$$QMAKE_QML_BUNDLE_PATH + qtconfTargetPath = $CODESIGNING_FOLDER_PATH/qt.conf + } + + # set import path in qt.conf to point to the bundeled qml: + QT_CONF_CONTENTS = \ + "[Paths]" \ + "Imports = $$QMAKE_QML_BUNDLE_PATH" \ + "Qml2Imports = $$QMAKE_QML_BUNDLE_PATH" + write_file("$$OUT_PWD/qt.conf", QT_CONF_CONTENTS)|error("Aborting.") + + # write qt.conf and copy each qml import dir into the bundle. + # But strip away archives and other files that are not needed: + !isEmpty(QMAKE_POST_LINK): QMAKE_POST_LINK += ";" + QMAKE_POST_LINK += \ + "cp $$shell_quote($$OUT_PWD/qt.conf) \"$$qtconfTargetPath\"; " \ + "test -d \"$$qmlTargetPath\" && rm -r \"$$qmlTargetPath\"; " \ + "mkdir -p \"$$qmlTargetPath\" && " \ + "for p in $$QMLPATHS; do" \ + "rsync -r --exclude='*.a' --exclude='*.prl' --exclude='*.qmltypes' " + macx-xcode: QMAKE_POST_LINK += "$p/ \"$$qmlTargetPath\"; done" + else: QMAKE_POST_LINK += "\$\$p/ \"$$qmlTargetPath\"; done" + } + } +} + +!import_qpa_plugin { + warning("CONFIG-=import_qpa_plugin is deprecated. Use QTPLUGIN.platforms=- instead.") + QTPLUGIN.platforms = - +} else: qpa_minimal_plugin { + warning("CONFIG+=qpa_minimal_plugin is deprecated. Use QTPLUGIN.platforms=qminimal instead.") + QTPLUGIN.platforms = qminimal +} + +contains(TEMPLATE, .*app) { + autoplugs = + for (qtmod, qt_module_deps) { + for (ptype, QT.$${qtmod}.plugin_types) { + isEmpty(QTPLUGIN.$$ptype) { + for (plug, QT_PLUGINS) { + equals(QT_PLUGIN.$${plug}.TYPE, $$ptype) { + for (dep, QT_PLUGIN.$${plug}.EXTENDS) { + !contains(qt_module_deps, $$dep) { + plug = + break() + } + } + autoplugs += $$plug + } + } + } else { + plug = $$eval(QTPLUGIN.$$ptype) + !equals(plug, -): \ + autoplugs += $$plug + } + } + } + manualplugs = $$QTPLUGIN + manualplugs -= $$autoplugs + QTPLUGIN -= $$manualplugs + !isEmpty(QTPLUGIN): \ + warning("Redundant entries in QTPLUGIN: $$QTPLUGIN") + QTPLUGIN = $$manualplugs $$autoplugs +} + +QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN +contains(QT_CONFIG, static) { + QT_PLUGIN_VERIFY += QTPLUGIN + force_import_plugins|contains(TEMPLATE, .*app) { + import_plugins:!isEmpty(QTPLUGIN) { + IMPORT_FILE_CONT = \ + "// This file is autogenerated by qmake. It imports static plugin classes for" \ + "// static plugins specified using QTPLUGIN and QT_PLUGIN_CLASS. variables." \ + "$${LITERAL_HASH}include " + for(IMPORT_PLUG, $$list($$unique(QTPLUGIN))) { + PLUG_CLASS = $$eval(QT_PLUGIN.$${IMPORT_PLUG}.CLASS_NAME) + !isEmpty(PLUG_CLASS): \ + IMPORT_FILE_CONT += "Q_IMPORT_PLUGIN($$PLUG_CLASS)" + else: \ + warning("Plugin class name could not be determined for $$IMPORT_PLUG plugin.") + } + IMPORT_CPP = $$OUT_PWD/$$lower($$basename(TARGET))_plugin_import.cpp + write_file($$IMPORT_CPP, IMPORT_FILE_CONT)|error("Aborting.") + GENERATED_SOURCES += $$IMPORT_CPP + QMAKE_DISTCLEAN += $$IMPORT_CPP + } + } +} + +for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { + for(QTPLUG, $$list($$lower($$unique($$QT_CURRENT_VERIFY)))) { + # Check if the plugin is known to Qt. We can use this to determine + # the plugin path. Unknown plugins must rely on the default link path. + QT_PLUGINPATH = $$eval(QT_PLUGIN.$${QTPLUG}.TYPE) + + # Generate the plugin linker line + QT_LINKAGE = -l$${QTPLUG}$$qtPlatformTargetSuffix() + + # Only link against plugin in static builds + isEqual(QT_CURRENT_VERIFY, QTPLUGIN) { + !isEmpty(QT_PLUGINPATH) { + plugpath = $$eval(QT_PLUGIN.$${QTPLUG}.PATH) + isEmpty(plugpath): \ + plugpath = $$[QT_INSTALL_PLUGINS/get] + LIBS *= -L$$plugpath/$$QT_PLUGINPATH + } + LIBS += $$QT_LINKAGE + # if the plugin is linked statically there is no need to deploy it + DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY + } + + # The following block is currently broken, because qt_plugin_XXX.prf files + # are not generated for dynamic builds. + false:isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:if(wince*|winrt) { + QT_ITEM = + debug: QT_ITEM = $${QTPLUG}d4.dll + else: QT_ITEM = $${QTPLUG}4.dll + + qt_additional_plugin_$${QTPLUG}.files = $$[QT_INSTALL_PLUGINS/get]/$${QT_PLUGINPATH}/$${QT_ITEM} + qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH} + + INSTALLS *= qt_additional_plugin_$${QTPLUG} + } + } +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,59 @@ +# +# W A R N I N G +# ------------- +# +# This file is not part of the Qt API. It exists purely as an +# implementation detail. It may change from version to version +# without notice, or even be removed. +# +# We mean it. +# + +staticlib: \ + CONFIG += static +else: dll: \ + CONFIG += shared + +CONFIG(static, static|shared) { + CONFIG -= shared dll + contains(TEMPLATE, ".*lib"): CONFIG += staticlib +} else { + CONFIG -= static staticlib + contains(TEMPLATE, ".*lib"): CONFIG += dll +} + +!macx-xcode: \ + addExclusiveBuilds(shared, static) + +CONFIG(debug, debug|release) { + CONFIG -= release + !force_debug_plist:debug_and_release: \ + CONFIG += no_plist +} else { + CONFIG -= debug +} + +!macx-xcode { + addExclusiveBuilds(debug, release) +} else { + # The Xcode generator always generates project files with + # debug and release configurations, regardless of whether + # or not debug_and_release is active. + for(build, $$list(debug release)) { + suffix = + contains(QT_CONFIG, debug_and_release) { + equals(build, debug): \ + suffix = _debug + } else { + contains(QT_CONFIG, debug): \ + suffix = _debug + } + + library_suffix_$${build}.name = $$QMAKE_XCODE_LIBRARY_SUFFIX_SETTING + library_suffix_$${build}.value = $$suffix + library_suffix_$${build}.build = $$build + QMAKE_MAC_XCODE_SETTINGS += library_suffix_$${build} + + CONFIG *= xcode_dynamic_library_suffix + } +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,109 @@ +qtPrepareTool(QMAKE_RCC, rcc, _DEP) + +isEmpty(RCC_DIR):RCC_DIR = . +isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc + +!contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT +!contains(QMAKE_RESOURCE_FLAGS, -name): QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE} + +# http://www.w3.org/TR/xml/#syntax +defineReplace(xml_escape) { + 1 ~= s,&,&, + 1 ~= s,\',', + 1 ~= s,\",", + 1 ~= s,<,<, + 1 ~= s,>,>, + return($$1) +} + +RESOURCES += qmake_immediate +for(resource, RESOURCES) { + # Regular case of user qrc file + contains(resource, ".*\.qrc$"): \ + next() + + # Fallback for stand-alone files/directories + !defined($${resource}.files, var) { + !equals(resource, qmake_immediate) { + !exists($$absolute_path($$resource, $$_PRO_FILE_PWD_)): \ + warning("Failure to find: $$resource") + qmake_immediate.files += $$resource + } + RESOURCES -= $$resource + next() + } + + resource_file = $$RCC_DIR/qmake_$${resource}.qrc + + isEmpty(BUILDS)|build_pass { + # Collection of files, generate qrc file + prefix = $$eval($${resource}.prefix) + isEmpty(prefix): \ + prefix = "/" + + resource_file_content = \ + "" \ + "" + + abs_base = $$absolute_path($$eval($${resource}.base), $$_PRO_FILE_PWD_) + + for(file, $${resource}.files) { + abs_path = $$absolute_path($$file, $$_PRO_FILE_PWD_) + files = $$files($$abs_path/*, true) + isEmpty(files): \ + files = $$abs_path + for (file, files) { + exists($$file/*): next() # exclude directories + alias = $$relative_path($$file, $$abs_base) + resource_file_content += \ + "$$xml_escape($$file)" + } + } + + resource_file_content += \ + "" \ + "" + + !write_file($$OUT_PWD/$$resource_file, resource_file_content): \ + error("Aborting.") + } + + RESOURCES -= $$resource + RESOURCES += $$resource_file +} + +rcc.input = RESOURCES +rcc.name = RCC ${QMAKE_FILE_IN} +rcc.depend_command = $$QMAKE_RCC_DEP -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} +rcc.CONFIG += add_inputs_as_makefile_deps + +!resources_big|ltcg|macx-xcode|contains(TEMPLATE, "vc.*") { + +rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)} +rcc.commands = $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} +rcc.variable_out = SOURCES + +} else { + +isEmpty(RCC_CXX):RCC_CXX = $$QMAKE_CXX $(CXXFLAGS) +RCC_OUT_BASE = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE} +RCC_CPP = $$RCC_OUT_BASE$${first(QMAKE_EXT_CPP)} +RCC_TMP = $${RCC_OUT_BASE}.tmp$${first(QMAKE_EXT_OBJ)} +RCC_OBJ = $$RCC_OUT_BASE$${first(QMAKE_EXT_OBJ)} + +msvc: RCC_CXX_O_FLAG = "-Fo" +else: RCC_CXX_O_FLAG = "-o " + +rcc.output = $$RCC_OBJ +rcc.commands = \ + $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -pass 1 -o $$RCC_CPP && \ + $$RCC_CXX -c $$RCC_CPP $$RCC_CXX_O_FLAG$$RCC_TMP && \ + $$QMAKE_RCC $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} -pass 2 -temp $$RCC_TMP -o ${QMAKE_FILE_OUT} +rcc.clean += $$RCC_CPP $$RCC_TMP + +} + +rcc.depends += $$QMAKE_RCC_EXE +silent:rcc.commands = @echo rcc ${QMAKE_FILE_IN} && $$rcc.commands +else:rcc.commands ~= s/&&/$$escape_expand(\\n\\t)/g +QMAKE_EXTRA_COMPILERS += rcc diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,124 @@ +# This file is loaded by qmake right after loading the qmakespec. +# Afterwards, the project's .qmake.conf and .qmake.cache are loaded +# (if present). +# Note that up to this point, nothing specific to a particular SUBDIRS +# project or build pass can be done. + +isEmpty(MAKEFILE_GENERATOR):error("Qmake spec does not set MAKEFILE_GENERATOR.") +isEmpty(QMAKE_PLATFORM) { + isEmpty(TARGET_PLATFORM) { + equals(MAKEFILE_GENERATOR, UNIX) { + equals(QMAKE_HOST.os, Darwin): \ + TARGET_PLATFORM = macx # backwards compatibility; cannot change + else: \ + TARGET_PLATFORM = unix + } else:if(equals(MAKEFILE_GENERATOR, MSVC.NET) \ + |equals(MAKEFILE_GENERATOR, MSBUILD) \ + |equals(MAKEFILE_GENERATOR, MINGW)) { + TARGET_PLATFORM = win32 + } else:if(equals(MAKEFILE_GENERATOR, PROJECTBUILDER) \ + |equals(MAKEFILE_GENERATOR, XCODE)) { + TARGET_PLATFORM = macx + } else { + error("Qmake spec sets an invalid MAKEFILE_GENERATOR.") + } + } + equals(TARGET_PLATFORM, unix): \ + QMAKE_PLATFORM = unix + else:equals(TARGET_PLATFORM, macx): \ + QMAKE_PLATFORM = macos osx macx mac darwin unix + else:equals(TARGET_PLATFORM, win32): \ + QMAKE_PLATFORM = win32 + else: \ + error("Qmake spec sets an invalid TARGET_PLATFORM.") +} + +contains(QMAKE_PLATFORM, macx) { + !contains(QMAKE_PLATFORM, osx) { + warning("qmake spec specified platform macx, but not osx."); + QMAKE_PLATFORM = osx $$QMAKE_PLATFORM + } + + !contains(QMAKE_PLATFORM, macos) { + warning("qmake spec specifies platform macx, but not macos.") + QMAKE_PLATFORM = macos $$QMAKE_PLATFORM + } +} + +CONFIG += $$QMAKE_PLATFORM + +isEmpty(QMAKE_COMPILER) { + *-g++*: \ + QMAKE_COMPILER = gcc + else:*-llvm*: \ + QMAKE_COMPILER = gcc llvm + else:*-clang*: \ + QMAKE_COMPILER = gcc clang llvm + else:*-msvc*: \ + QMAKE_COMPILER = msvc + else: \ + error("qmake spec does not announce the compiler family, and it cannot be guessed.") + warning("qmake spec does not announce the compiler family. Guessed $${QMAKE_COMPILER}.") +} +CONFIG += $$QMAKE_COMPILER + +equals(MAKEFILE_GENERATOR, MSBUILD) \ +|equals(MAKEFILE_GENERATOR, MSVC.NET) \ +|isEmpty(QMAKE_SH) { + QMAKE_ZIP = zip -r -9 + + QMAKE_COPY = copy /y + QMAKE_COPY_FILE = $$QMAKE_COPY + QMAKE_COPY_DIR = xcopy /s /q /y /i + # xcopy copies the contained files if source is a directory. Deal with it. + CONFIG += copy_dir_files + QMAKE_MOVE = move + QMAKE_DEL_FILE = del + QMAKE_DEL_DIR = rmdir + QMAKE_DEL_TREE = rmdir /s /q + QMAKE_CHK_EXISTS = if not exist %1 + QMAKE_CHK_DIR_EXISTS = if not exist # legacy + QMAKE_MKDIR = mkdir # legacy + QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1 + QMAKE_STREAM_EDITOR = $(QMAKE) -install sed + QMAKE_INSTALL_FILE = copy /y + QMAKE_INSTALL_PROGRAM = copy /y +} else { + QMAKE_TAR = tar -cf + QMAKE_GZIP = gzip -9f + + QMAKE_COPY = cp -f + QMAKE_COPY_FILE = $$QMAKE_COPY + QMAKE_COPY_DIR = $$QMAKE_COPY -R + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir + QMAKE_DEL_TREE = rm -rf + QMAKE_CHK_EXISTS = test -e %1 || + QMAKE_CHK_DIR_EXISTS = test -d # legacy + QMAKE_MKDIR = mkdir -p # legacy + QMAKE_MKDIR_CMD = test -d %1 || mkdir -p %1 + QMAKE_STREAM_EDITOR = sed + + equals(QMAKE_HOST.os, Windows) { + MINGW_IN_SHELL = 1 # legacy + # Override built-ins. + QMAKE_DIR_SEP = / + QMAKE_DIRLIST_SEP = : + # Because install's ability to set permissions is not relevant on Windows, + # and git's msys does not provide it to start with. + QMAKE_INSTALL_FILE = cp -f + QMAKE_INSTALL_PROGRAM = cp -f + } else { + QMAKE_INSTALL_FILE = install -m 644 -p + QMAKE_INSTALL_PROGRAM = install -m 755 -p + } +} +QMAKE_INSTALL_DIR = $$QMAKE_COPY_DIR +equals(QMAKE_HOST.os, Windows) { + QMAKE_SYMBOLIC_LINK = $(QMAKE) -install ln -f -s + QMAKE_LN_SHLIB = $(QMAKE) -install ln -s +} else { + QMAKE_SYMBOLIC_LINK = ln -f -s + QMAKE_LN_SHLIB = ln -s +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,55 @@ +# This file is loaded by qmake right before loading the qmakespec. +# At this point, the built-in variables have been set up and the project's +# .qmake.super was read (if present). + +QMAKE_DIR_SEP = $$DIR_SEPARATOR +QMAKE_DIRLIST_SEP = $$DIRLIST_SEPARATOR + +QMAKE_EXT_C = .c +QMAKE_EXT_CPP = .cpp .cc .cxx +QMAKE_EXT_OBJC = .m +QMAKE_EXT_OBJCXX = .mm +QMAKE_EXT_CPP_MOC = .moc +QMAKE_EXT_H = .h .hpp .hh .hxx +QMAKE_EXT_H_MOC = .cpp +QMAKE_EXT_JS = .js +QMAKE_EXT_LEX = .l +QMAKE_EXT_LIBTOOL = .la +QMAKE_EXT_PKGCONFIG = .pc +QMAKE_EXT_PRL = .prl +QMAKE_EXT_UI = .ui +QMAKE_EXT_YACC = .y + +QMAKE_CPP_MOD_MOC = +QMAKE_H_MOD_MOC = moc_ +QMAKE_MOD_LEX = _lex +QMAKE_MOD_YACC = _yacc + +defineTest(ensurePathEnv) { + isEmpty(QMAKE_PATH_ENV) { + QMAKE_PATH_ENV = $$(PATH) + QMAKE_PATH_ENV = $$split(QMAKE_PATH_ENV, $$QMAKE_DIRLIST_SEP) + export(QMAKE_PATH_ENV) + } +} + +equals(QMAKE_HOST.os, Windows) { + QMAKE_EXT_OBJ = .obj + QMAKE_EXT_RES = .res + QMAKE_SH = + ensurePathEnv() + for(dir, QMAKE_PATH_ENV) { + exists($$dir/sh.exe) { + QMAKE_SH = $$dir/sh.exe + break() + } + } +} else { + QMAKE_EXT_CPP += .C + QMAKE_EXT_H += .H + QMAKE_EXT_OBJ = .o + QMAKE_SH = sh +} + +CONFIG = file_copies qt warn_on release link_prl +QT = core gui diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ + +# Let every project have a standard GNU `check' target +!contains(QMAKE_EXTRA_TARGETS, check) { + contains(TEMPLATE, subdirs): \ + prepareRecursiveTarget(check) + else: \ + check.depends = first # `make check' implies build + QMAKE_EXTRA_TARGETS += check +} + +# ... and the same for benchmarks, too. +!contains(QMAKE_EXTRA_TARGETS, benchmark) { + contains(TEMPLATE, subdirs): \ + prepareRecursiveTarget(benchmark) + else: \ + benchmark.depends = first # `make benchmark' implies build + QMAKE_EXTRA_TARGETS += benchmark +} + diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,42 @@ + +isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build { + # + # Get default include and library paths from compiler + # + gcc { + !equals(QMAKE_HOST.os, Windows) { + cmd_prefix = "LC_ALL=C" + cmd_suffix = "/dev/null" + } else { + cmd_prefix = "set LC_ALL=C&" + cmd_suffix = "NUL" + } + output = $$system("$$cmd_prefix $$QMAKE_CXX $$QMAKE_CXXFLAGS -xc++ -E -v - 2>&1 $$cmd_suffix", lines) + add_includes = false + for (line, output) { + line ~= s/^ *// # remove leading spaces + contains(line, "LIBRARY_PATH=.*") { + line ~= s/^LIBRARY_PATH=// # remove leading LIBRARY_PATH= + paths = $$split(line, $$QMAKE_DIRLIST_SEP) + for (path, paths): \ + QMAKE_DEFAULT_LIBDIRS += $$clean_path($$path) + } else: contains(line, "$${LITERAL_HASH}include <.*") { # #include <...> search starts here: + add_includes = true + } else: contains(line, "End of search.*") { + add_includes = false + } else: $$add_includes { + !contains(line, ".* \\(framework directory\\)"): \ + QMAKE_DEFAULT_INCDIRS += $$clean_path($$line) + } + } + QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS) + } + + unix { + isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include + isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib + } + + !isEmpty(QMAKE_DEFAULT_INCDIRS): cache(QMAKE_DEFAULT_INCDIRS, set stash) + !isEmpty(QMAKE_DEFAULT_LIBDIRS): cache(QMAKE_DEFAULT_LIBDIRS, set stash) +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,20 @@ +qtPrepareTool(QMAKE_UIC, uic, _DEP) + +isEmpty(UI_DIR):UI_DIR = . +isEmpty(QMAKE_MOD_UIC):QMAKE_MOD_UIC = ui_ + +uic.depends += $$QMAKE_UIC_EXE +uic.commands = $$QMAKE_UIC ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} +uic.depend_command = $$QMAKE_UIC_DEP -d ${QMAKE_FILE_IN} +uic.output = $$UI_DIR/$${QMAKE_MOD_UIC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)} +uic.input = FORMS +uic.variable_out = GENERATED_FILES +uic.CONFIG += no_link target_predeps +uic.name = UIC ${QMAKE_FILE_IN} +silent:uic.commands = @echo uic ${QMAKE_FILE_IN} && $$uic.commands +QMAKE_EXTRA_COMPILERS += uic +INCREDIBUILD_XGE += uic + +!isEmpty(FORMS) { + INCLUDEPATH += $$absolute_path($$UI_DIR, $$OUT_PWD) +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,12 @@ +contains(QT_CONFIG, opengles2) { + INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2 + !isEmpty(QMAKE_LIBDIR_OPENGL_ES2):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2 + target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES2 + else:LIBS += $$QMAKE_LIBS_OPENGL_ES2 +} else { + INCLUDEPATH += $$QMAKE_INCDIR_OPENGL + !isEmpty(QMAKE_LIBDIR_OPENGL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL + target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL + else:LIBS += $$QMAKE_LIBS_OPENGL +} + diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,14 @@ +!isEmpty(QMAKE_CFLAGS_THREAD) { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_THREAD + QMAKE_EXPORT_CFLAGS += $$QMAKE_CFLAGS_THREAD +} +!isEmpty(QMAKE_CXXFLAGS_THREAD) { + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_THREAD + QMAKE_EXPORT_CXXFLAGS += $$QMAKE_CXXFLAGS_THREAD +} +INCLUDEPATH += $$QMAKE_INCDIR_THREAD +LIBS += $$QMAKE_LIBS_THREAD +!isEmpty(QMAKE_LFLAGS_THREAD):QMAKE_LFLAGS += $$QMAKE_LFLAGS_THREAD +!isEmpty(QMAKE_CC_THREAD):QMAKE_CC = $$QMAKE_CC_THREAD +!isEmpty(QMAKE_CXX_THREAD):QMAKE_CXX = $$QMAKE_CXX_THREAD +!isEmpty(QMAKE_LINK_THREAD):QMAKE_LINK = $$QMAKE_LINK_THREAD diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,4 @@ +CONFIG -= warn_off +QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_ON + diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,42 @@ +# +# Yacc extra-compiler for handling files specified in the YACCSOURCES variable +# + +{ + yacc_decl.name = Yacc header + yacc_decl.input = YACCSOURCES + yacc_decl.variable_out = GENERATED_FILES + + + isEmpty(QMAKE_YACCFLAGS_MANGLE) { + QMAKE_YACCFLAGS_MANGLE = -p ${QMAKE_FILE_BASE} -b ${QMAKE_FILE_BASE} + QMAKE_YACC_HEADER = ${QMAKE_FILE_BASE}.tab.h + QMAKE_YACC_SOURCE = ${QMAKE_FILE_BASE}.tab.c + } else { + QMAKE_YACCFLAGS_MANGLE ~= s/\\$base/${QMAKE_FILE_BASE}/g #backwards compat + QMAKE_YACC_HEADER ~= s/\\$base/${QMAKE_FILE_BASE}/g + QMAKE_YACC_SOURCE ~= s/\\$base/${QMAKE_FILE_BASE}/g + } + QMAKE_YACCDECLFLAGS = $$QMAKE_YACCFLAGS + !yacc_no_name_mangle:QMAKE_YACCDECLFLAGS += $$QMAKE_YACCFLAGS_MANGLE + + yacc_decl.commands = \ + -$(DEL_FILE) $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \ + $$QMAKE_YACC $$QMAKE_YACCDECLFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \ + $(MOVE) $${QMAKE_YACC_HEADER} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)}$$escape_expand(\\n\\t) \ + $(MOVE) $${QMAKE_YACC_SOURCE} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) + yacc_decl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)} + + silent:yacc_decl.commands = @echo Yacc ${QMAKE_FILE_IN} && $$yacc_decl.commands + QMAKE_EXTRA_COMPILERS += yacc_decl +} + +{ + yacc_impl.name = source for ${QMAKE_FILE_IN} + yacc_impl.input = YACCSOURCES + yacc_impl.variable_out = GENERATED_SOURCES + yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created + yacc_impl.depends += $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)} # Make sure we depend on the step above + yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above + QMAKE_EXTRA_COMPILERS += yacc_impl +} diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,24 @@ +# +# qmake configuration for linux-g++ +# +# Written for GNU/Linux platforms that have both lib and lib64 directories, +# like the AMD Opteron. +# + +MAKEFILE_GENERATOR = UNIX +CONFIG += incremental +QMAKE_INCREMENTAL_STYLE = sublib + +include(../common/linux.conf) + +QMAKE_CFLAGS = -m64 +QMAKE_LFLAGS = -m64 + +include(../common/gcc-base-unix.conf) +include(../common/g++-unix.conf) + + +QMAKE_LIBDIR_X11 = /usr/X11R6/lib64 +QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib64 + +load(qt_config) diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,13 @@ +QT.bootstrap_private.VERSION = 5.7.1 +QT.bootstrap_private.MAJOR_VERSION = 5 +QT.bootstrap_private.MINOR_VERSION = 7 +QT.bootstrap_private.PATCH_VERSION = 1 +QT.bootstrap_private.name = QtBootstrap +QT.bootstrap_private.module = Qt5Bootstrap +QT.bootstrap_private.libs = $$QT_MODULE_HOST_LIB_BASE +QT.bootstrap_private.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtCore $$QT_MODULE_INCLUDE_BASE/QtCore/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtCore/5.7.1/QtCore $$QT_MODULE_INCLUDE_BASE/QtXml $$QT_MODULE_INCLUDE_BASE/QtXml/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtXml/5.7.1/QtXml +QT.bootstrap_private.frameworks = +QT.bootstrap_private.depends = +QT.bootstrap_private.module_config = v2 staticlib internal_module +QT.bootstrap_private.DEFINES = QT_BOOTSTRAP_LIB QT_BOOTSTRAPPED QT_LITE_UNICODE QT_NO_CAST_TO_ASCII QT_NO_CODECS QT_NO_DATASTREAM QT_NO_LIBRARY QT_NO_QOBJECT QT_NO_SYSTEMLOCALE QT_NO_THREAD QT_NO_UNICODETABLES QT_NO_USING_NAMESPACE QT_NO_DEPRECATED QT_NO_TRANSLATION +QT_MODULES += bootstrap diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.concurrent.VERSION = 5.7.1 +QT.concurrent.MAJOR_VERSION = 5 +QT.concurrent.MINOR_VERSION = 7 +QT.concurrent.PATCH_VERSION = 1 +QT.concurrent.name = QtConcurrent +QT.concurrent.module = Qt5Concurrent +QT.concurrent.libs = $$QT_MODULE_LIB_BASE +QT.concurrent.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtConcurrent +QT.concurrent.frameworks = +QT.concurrent.bins = $$QT_MODULE_BIN_BASE +QT.concurrent.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.concurrent.plugins = $$QT_MODULE_PLUGIN_BASE +QT.concurrent.imports = $$QT_MODULE_IMPORT_BASE +QT.concurrent.qml = $$QT_MODULE_QML_BASE +QT.concurrent.depends = core +QT.concurrent.module_config = v2 +QT.concurrent.DEFINES = QT_CONCURRENT_LIB +QT_MODULES += concurrent diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.concurrent_private.VERSION = 5.7.1 +QT.concurrent_private.MAJOR_VERSION = 5 +QT.concurrent_private.MINOR_VERSION = 7 +QT.concurrent_private.PATCH_VERSION = 1 +QT.concurrent_private.name = QtConcurrent +QT.concurrent_private.module = +QT.concurrent_private.libs = $$QT_MODULE_LIB_BASE +QT.concurrent_private.includes = $$QT_MODULE_INCLUDE_BASE/QtConcurrent/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtConcurrent/5.7.1/QtConcurrent +QT.concurrent_private.frameworks = +QT.concurrent_private.depends = core_private concurrent +QT.concurrent_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.core.VERSION = 5.7.1 +QT.core.MAJOR_VERSION = 5 +QT.core.MINOR_VERSION = 7 +QT.core.PATCH_VERSION = 1 +QT.core.name = QtCore +QT.core.module = Qt5Core +QT.core.libs = $$QT_MODULE_LIB_BASE +QT.core.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtCore +QT.core.frameworks = +QT.core.bins = $$QT_MODULE_BIN_BASE +QT.core.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.core.plugins = $$QT_MODULE_PLUGIN_BASE +QT.core.imports = $$QT_MODULE_IMPORT_BASE +QT.core.qml = $$QT_MODULE_QML_BASE +QT.core.depends = +QT.core.module_config = v2 +QT.core.CONFIG = moc resources +QT.core.DEFINES = QT_CORE_LIB +QT_MODULES += core diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.core_private.VERSION = 5.7.1 +QT.core_private.MAJOR_VERSION = 5 +QT.core_private.MINOR_VERSION = 7 +QT.core_private.PATCH_VERSION = 1 +QT.core_private.name = QtCore +QT.core_private.module = +QT.core_private.libs = $$QT_MODULE_LIB_BASE +QT.core_private.includes = $$QT_MODULE_INCLUDE_BASE/QtCore/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtCore/5.7.1/QtCore +QT.core_private.frameworks = +QT.core_private.depends = core +QT.core_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.dbus.VERSION = 5.7.1 +QT.dbus.MAJOR_VERSION = 5 +QT.dbus.MINOR_VERSION = 7 +QT.dbus.PATCH_VERSION = 1 +QT.dbus.name = QtDBus +QT.dbus.module = Qt5DBus +QT.dbus.libs = $$QT_MODULE_LIB_BASE +QT.dbus.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtDBus +QT.dbus.frameworks = +QT.dbus.bins = $$QT_MODULE_BIN_BASE +QT.dbus.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.dbus.plugins = $$QT_MODULE_PLUGIN_BASE +QT.dbus.imports = $$QT_MODULE_IMPORT_BASE +QT.dbus.qml = $$QT_MODULE_QML_BASE +QT.dbus.depends = core +QT.dbus.module_config = v2 +QT.dbus.CONFIG = dbusadaptors dbusinterfaces +QT.dbus.DEFINES = QT_DBUS_LIB +QT_MODULES += dbus diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.dbus_private.VERSION = 5.7.1 +QT.dbus_private.MAJOR_VERSION = 5 +QT.dbus_private.MINOR_VERSION = 7 +QT.dbus_private.PATCH_VERSION = 1 +QT.dbus_private.name = QtDBus +QT.dbus_private.module = +QT.dbus_private.libs = $$QT_MODULE_LIB_BASE +QT.dbus_private.includes = $$QT_MODULE_INCLUDE_BASE/QtDBus/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtDBus/5.7.1/QtDBus +QT.dbus_private.frameworks = +QT.dbus_private.depends = core_private dbus +QT.dbus_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.eglfs_device_lib_private.VERSION = 5.7.1 +QT.eglfs_device_lib_private.MAJOR_VERSION = 5 +QT.eglfs_device_lib_private.MINOR_VERSION = 7 +QT.eglfs_device_lib_private.PATCH_VERSION = 1 +QT.eglfs_device_lib_private.name = QtEglDeviceIntegration +QT.eglfs_device_lib_private.module = Qt5EglDeviceIntegration +QT.eglfs_device_lib_private.libs = $$QT_MODULE_LIB_BASE +QT.eglfs_device_lib_private.includes = +QT.eglfs_device_lib_private.frameworks = +QT.eglfs_device_lib_private.bins = $$QT_MODULE_BIN_BASE +QT.eglfs_device_lib_private.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.eglfs_device_lib_private.plugins = $$QT_MODULE_PLUGIN_BASE +QT.eglfs_device_lib_private.imports = $$QT_MODULE_IMPORT_BASE +QT.eglfs_device_lib_private.qml = $$QT_MODULE_QML_BASE +QT.eglfs_device_lib_private.depends = core gui core_private gui_private platformsupport_private +QT.eglfs_device_lib_private.module_config = v2 internal_module +QT.eglfs_device_lib_private.DEFINES = QT_EGLFS_DEVICE_LIB_LIB +QT_MODULES += eglfs_device_lib diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.eglfs_kms_support_private.VERSION = 5.7.1 +QT.eglfs_kms_support_private.MAJOR_VERSION = 5 +QT.eglfs_kms_support_private.MINOR_VERSION = 7 +QT.eglfs_kms_support_private.PATCH_VERSION = 1 +QT.eglfs_kms_support_private.name = QtEglFsKmsSupport +QT.eglfs_kms_support_private.module = Qt5EglFsKmsSupport +QT.eglfs_kms_support_private.libs = $$QT_MODULE_LIB_BASE +QT.eglfs_kms_support_private.includes = +QT.eglfs_kms_support_private.frameworks = +QT.eglfs_kms_support_private.bins = $$QT_MODULE_BIN_BASE +QT.eglfs_kms_support_private.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.eglfs_kms_support_private.plugins = $$QT_MODULE_PLUGIN_BASE +QT.eglfs_kms_support_private.imports = $$QT_MODULE_IMPORT_BASE +QT.eglfs_kms_support_private.qml = $$QT_MODULE_QML_BASE +QT.eglfs_kms_support_private.depends = core gui +QT.eglfs_kms_support_private.module_config = v2 internal_module +QT.eglfs_kms_support_private.DEFINES = QT_EGLFS_KMS_SUPPORT_LIB +QT_MODULES += eglfs_kms_support diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,20 @@ +QT.gui.VERSION = 5.7.1 +QT.gui.MAJOR_VERSION = 5 +QT.gui.MINOR_VERSION = 7 +QT.gui.PATCH_VERSION = 1 +QT.gui.name = QtGui +QT.gui.module = Qt5Gui +QT.gui.libs = $$QT_MODULE_LIB_BASE +QT.gui.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtGui +QT.gui.frameworks = +QT.gui.bins = $$QT_MODULE_BIN_BASE +QT.gui.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.gui.plugins = $$QT_MODULE_PLUGIN_BASE +QT.gui.imports = $$QT_MODULE_IMPORT_BASE +QT.gui.qml = $$QT_MODULE_QML_BASE +QT.gui.plugin_types = platforms xcbglintegrations platformthemes platforminputcontexts generic iconengines imageformats egldeviceintegrations +QT.gui.depends = core +QT.gui.module_config = v2 +QT.gui.CONFIG = opengl +QT.gui.DEFINES = QT_GUI_LIB +QT_MODULES += gui diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.gui_private.VERSION = 5.7.1 +QT.gui_private.MAJOR_VERSION = 5 +QT.gui_private.MINOR_VERSION = 7 +QT.gui_private.PATCH_VERSION = 1 +QT.gui_private.name = QtGui +QT.gui_private.module = +QT.gui_private.libs = $$QT_MODULE_LIB_BASE +QT.gui_private.includes = $$QT_MODULE_INCLUDE_BASE/QtGui/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtGui/5.7.1/QtGui +QT.gui_private.frameworks = +QT.gui_private.depends = core_private gui +QT.gui_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.network.VERSION = 5.7.1 +QT.network.MAJOR_VERSION = 5 +QT.network.MINOR_VERSION = 7 +QT.network.PATCH_VERSION = 1 +QT.network.name = QtNetwork +QT.network.module = Qt5Network +QT.network.libs = $$QT_MODULE_LIB_BASE +QT.network.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtNetwork +QT.network.frameworks = +QT.network.bins = $$QT_MODULE_BIN_BASE +QT.network.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.network.plugins = $$QT_MODULE_PLUGIN_BASE +QT.network.imports = $$QT_MODULE_IMPORT_BASE +QT.network.qml = $$QT_MODULE_QML_BASE +QT.network.plugin_types = bearer +QT.network.depends = core +QT.network.module_config = v2 +QT.network.DEFINES = QT_NETWORK_LIB +QT_MODULES += network diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.network_private.VERSION = 5.7.1 +QT.network_private.MAJOR_VERSION = 5 +QT.network_private.MINOR_VERSION = 7 +QT.network_private.PATCH_VERSION = 1 +QT.network_private.name = QtNetwork +QT.network_private.module = +QT.network_private.libs = $$QT_MODULE_LIB_BASE +QT.network_private.includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtNetwork/5.7.1/QtNetwork +QT.network_private.frameworks = +QT.network_private.depends = core_private network +QT.network_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.openglextensions.VERSION = 5.7.1 +QT.openglextensions.MAJOR_VERSION = 5 +QT.openglextensions.MINOR_VERSION = 7 +QT.openglextensions.PATCH_VERSION = 1 +QT.openglextensions.name = QtOpenGLExtensions +QT.openglextensions.module = Qt5OpenGLExtensions +QT.openglextensions.libs = $$QT_MODULE_LIB_BASE +QT.openglextensions.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtOpenGLExtensions +QT.openglextensions.frameworks = +QT.openglextensions.bins = $$QT_MODULE_BIN_BASE +QT.openglextensions.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.openglextensions.plugins = $$QT_MODULE_PLUGIN_BASE +QT.openglextensions.imports = $$QT_MODULE_IMPORT_BASE +QT.openglextensions.qml = $$QT_MODULE_QML_BASE +QT.openglextensions.depends = core gui +QT.openglextensions.module_config = v2 staticlib +QT.openglextensions.DEFINES = QT_OPENGLEXTENSIONS_LIB +QT_MODULES += openglextensions diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.openglextensions_private.VERSION = 5.7.1 +QT.openglextensions_private.MAJOR_VERSION = 5 +QT.openglextensions_private.MINOR_VERSION = 7 +QT.openglextensions_private.PATCH_VERSION = 1 +QT.openglextensions_private.name = QtOpenGLExtensions +QT.openglextensions_private.module = +QT.openglextensions_private.libs = $$QT_MODULE_LIB_BASE +QT.openglextensions_private.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGLExtensions/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtOpenGLExtensions/5.7.1/QtOpenGLExtensions +QT.openglextensions_private.frameworks = +QT.openglextensions_private.depends = openglextensions +QT.openglextensions_private.module_config = v2 staticlib internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.opengl.VERSION = 5.7.1 +QT.opengl.MAJOR_VERSION = 5 +QT.opengl.MINOR_VERSION = 7 +QT.opengl.PATCH_VERSION = 1 +QT.opengl.name = QtOpenGL +QT.opengl.module = Qt5OpenGL +QT.opengl.libs = $$QT_MODULE_LIB_BASE +QT.opengl.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtOpenGL +QT.opengl.frameworks = +QT.opengl.bins = $$QT_MODULE_BIN_BASE +QT.opengl.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.opengl.plugins = $$QT_MODULE_PLUGIN_BASE +QT.opengl.imports = $$QT_MODULE_IMPORT_BASE +QT.opengl.qml = $$QT_MODULE_QML_BASE +QT.opengl.depends = core gui widgets +QT.opengl.module_config = v2 +QT.opengl.DEFINES = QT_OPENGL_LIB +QT_MODULES += opengl diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.opengl_private.VERSION = 5.7.1 +QT.opengl_private.MAJOR_VERSION = 5 +QT.opengl_private.MINOR_VERSION = 7 +QT.opengl_private.PATCH_VERSION = 1 +QT.opengl_private.name = QtOpenGL +QT.opengl_private.module = +QT.opengl_private.libs = $$QT_MODULE_LIB_BASE +QT.opengl_private.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtOpenGL/5.7.1/QtOpenGL +QT.opengl_private.frameworks = +QT.opengl_private.depends = core_private gui_private widgets_private opengl +QT.opengl_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.platformsupport_private.VERSION = 5.7.1 +QT.platformsupport_private.MAJOR_VERSION = 5 +QT.platformsupport_private.MINOR_VERSION = 7 +QT.platformsupport_private.PATCH_VERSION = 1 +QT.platformsupport_private.name = QtPlatformSupport +QT.platformsupport_private.module = Qt5PlatformSupport +QT.platformsupport_private.libs = $$QT_MODULE_LIB_BASE +QT.platformsupport_private.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtPlatformSupport $$QT_MODULE_INCLUDE_BASE/QtPlatformSupport/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtPlatformSupport/5.7.1/QtPlatformSupport +QT.platformsupport_private.frameworks = +QT.platformsupport_private.bins = $$QT_MODULE_BIN_BASE +QT.platformsupport_private.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.platformsupport_private.plugins = $$QT_MODULE_PLUGIN_BASE +QT.platformsupport_private.imports = $$QT_MODULE_IMPORT_BASE +QT.platformsupport_private.qml = $$QT_MODULE_QML_BASE +QT.platformsupport_private.depends = core_private gui_private +QT.platformsupport_private.run_depends = dbus dbus dbus +QT.platformsupport_private.module_config = v2 staticlib internal_module +QT.platformsupport_private.DEFINES = QT_PLATFORMSUPPORT_LIB +QT_MODULES += platformsupport diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.printsupport.VERSION = 5.7.1 +QT.printsupport.MAJOR_VERSION = 5 +QT.printsupport.MINOR_VERSION = 7 +QT.printsupport.PATCH_VERSION = 1 +QT.printsupport.name = QtPrintSupport +QT.printsupport.module = Qt5PrintSupport +QT.printsupport.libs = $$QT_MODULE_LIB_BASE +QT.printsupport.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtPrintSupport +QT.printsupport.frameworks = +QT.printsupport.bins = $$QT_MODULE_BIN_BASE +QT.printsupport.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.printsupport.plugins = $$QT_MODULE_PLUGIN_BASE +QT.printsupport.imports = $$QT_MODULE_IMPORT_BASE +QT.printsupport.qml = $$QT_MODULE_QML_BASE +QT.printsupport.plugin_types = printsupport +QT.printsupport.depends = core gui widgets +QT.printsupport.module_config = v2 +QT.printsupport.DEFINES = QT_PRINTSUPPORT_LIB +QT_MODULES += printsupport diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.printsupport_private.VERSION = 5.7.1 +QT.printsupport_private.MAJOR_VERSION = 5 +QT.printsupport_private.MINOR_VERSION = 7 +QT.printsupport_private.PATCH_VERSION = 1 +QT.printsupport_private.name = QtPrintSupport +QT.printsupport_private.module = +QT.printsupport_private.libs = $$QT_MODULE_LIB_BASE +QT.printsupport_private.includes = $$QT_MODULE_INCLUDE_BASE/QtPrintSupport/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtPrintSupport/5.7.1/QtPrintSupport +QT.printsupport_private.frameworks = +QT.printsupport_private.depends = core_private gui_private widgets_private printsupport +QT.printsupport_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.sql.VERSION = 5.7.1 +QT.sql.MAJOR_VERSION = 5 +QT.sql.MINOR_VERSION = 7 +QT.sql.PATCH_VERSION = 1 +QT.sql.name = QtSql +QT.sql.module = Qt5Sql +QT.sql.libs = $$QT_MODULE_LIB_BASE +QT.sql.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtSql +QT.sql.frameworks = +QT.sql.bins = $$QT_MODULE_BIN_BASE +QT.sql.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.sql.plugins = $$QT_MODULE_PLUGIN_BASE +QT.sql.imports = $$QT_MODULE_IMPORT_BASE +QT.sql.qml = $$QT_MODULE_QML_BASE +QT.sql.plugin_types = sqldrivers +QT.sql.depends = core +QT.sql.module_config = v2 +QT.sql.DEFINES = QT_SQL_LIB +QT_MODULES += sql diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.sql_private.VERSION = 5.7.1 +QT.sql_private.MAJOR_VERSION = 5 +QT.sql_private.MINOR_VERSION = 7 +QT.sql_private.PATCH_VERSION = 1 +QT.sql_private.name = QtSql +QT.sql_private.module = +QT.sql_private.libs = $$QT_MODULE_LIB_BASE +QT.sql_private.includes = $$QT_MODULE_INCLUDE_BASE/QtSql/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtSql/5.7.1/QtSql +QT.sql_private.frameworks = +QT.sql_private.depends = core_private sql +QT.sql_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.svg.VERSION = 5.7.1 +QT.svg.MAJOR_VERSION = 5 +QT.svg.MINOR_VERSION = 7 +QT.svg.PATCH_VERSION = 1 +QT.svg.name = QtSvg +QT.svg.module = Qt5Svg +QT.svg.libs = $$QT_MODULE_LIB_BASE +QT.svg.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtSvg +QT.svg.frameworks = +QT.svg.bins = $$QT_MODULE_BIN_BASE +QT.svg.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.svg.plugins = $$QT_MODULE_PLUGIN_BASE +QT.svg.imports = $$QT_MODULE_IMPORT_BASE +QT.svg.qml = $$QT_MODULE_QML_BASE +QT.svg.depends = core gui widgets +QT.svg.module_config = v2 +QT.svg.DEFINES = QT_SVG_LIB +QT_MODULES += svg diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,19 @@ +QT.testlib.VERSION = 5.7.1 +QT.testlib.MAJOR_VERSION = 5 +QT.testlib.MINOR_VERSION = 7 +QT.testlib.PATCH_VERSION = 1 +QT.testlib.name = QtTest +QT.testlib.module = Qt5Test +QT.testlib.libs = $$QT_MODULE_LIB_BASE +QT.testlib.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtTest +QT.testlib.frameworks = +QT.testlib.bins = $$QT_MODULE_BIN_BASE +QT.testlib.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.testlib.plugins = $$QT_MODULE_PLUGIN_BASE +QT.testlib.imports = $$QT_MODULE_IMPORT_BASE +QT.testlib.qml = $$QT_MODULE_QML_BASE +QT.testlib.depends = core +QT.testlib.module_config = v2 +QT.testlib.CONFIG = console testlib_defines +QT.testlib.DEFINES = QT_TESTLIB_LIB +QT_MODULES += testlib diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.testlib_private.VERSION = 5.7.1 +QT.testlib_private.MAJOR_VERSION = 5 +QT.testlib_private.MINOR_VERSION = 7 +QT.testlib_private.PATCH_VERSION = 1 +QT.testlib_private.name = QtTest +QT.testlib_private.module = +QT.testlib_private.libs = $$QT_MODULE_LIB_BASE +QT.testlib_private.includes = $$QT_MODULE_INCLUDE_BASE/QtTest/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtTest/5.7.1/QtTest +QT.testlib_private.frameworks = +QT.testlib_private.depends = core_private testlib +QT.testlib_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,20 @@ +QT.widgets.VERSION = 5.7.1 +QT.widgets.MAJOR_VERSION = 5 +QT.widgets.MINOR_VERSION = 7 +QT.widgets.PATCH_VERSION = 1 +QT.widgets.name = QtWidgets +QT.widgets.module = Qt5Widgets +QT.widgets.libs = $$QT_MODULE_LIB_BASE +QT.widgets.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtWidgets +QT.widgets.frameworks = +QT.widgets.bins = $$QT_MODULE_BIN_BASE +QT.widgets.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.widgets.plugins = $$QT_MODULE_PLUGIN_BASE +QT.widgets.imports = $$QT_MODULE_IMPORT_BASE +QT.widgets.qml = $$QT_MODULE_QML_BASE +QT.widgets.plugin_types = styles +QT.widgets.depends = core gui +QT.widgets.module_config = v2 +QT.widgets.CONFIG = uic +QT.widgets.DEFINES = QT_WIDGETS_LIB +QT_MODULES += widgets diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.widgets_private.VERSION = 5.7.1 +QT.widgets_private.MAJOR_VERSION = 5 +QT.widgets_private.MINOR_VERSION = 7 +QT.widgets_private.PATCH_VERSION = 1 +QT.widgets_private.name = QtWidgets +QT.widgets_private.module = +QT.widgets_private.libs = $$QT_MODULE_LIB_BASE +QT.widgets_private.includes = $$QT_MODULE_INCLUDE_BASE/QtWidgets/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtWidgets/5.7.1/QtWidgets +QT.widgets_private.frameworks = +QT.widgets_private.depends = core_private gui_private widgets +QT.widgets_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.xcb_qpa_lib_private.VERSION = 5.7.1 +QT.xcb_qpa_lib_private.MAJOR_VERSION = 5 +QT.xcb_qpa_lib_private.MINOR_VERSION = 7 +QT.xcb_qpa_lib_private.PATCH_VERSION = 1 +QT.xcb_qpa_lib_private.name = QtXcbQpa +QT.xcb_qpa_lib_private.module = Qt5XcbQpa +QT.xcb_qpa_lib_private.libs = $$QT_MODULE_LIB_BASE +QT.xcb_qpa_lib_private.includes = +QT.xcb_qpa_lib_private.frameworks = +QT.xcb_qpa_lib_private.bins = $$QT_MODULE_BIN_BASE +QT.xcb_qpa_lib_private.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.xcb_qpa_lib_private.plugins = $$QT_MODULE_PLUGIN_BASE +QT.xcb_qpa_lib_private.imports = $$QT_MODULE_IMPORT_BASE +QT.xcb_qpa_lib_private.qml = $$QT_MODULE_QML_BASE +QT.xcb_qpa_lib_private.depends = core gui core_private gui_private platformsupport_private dbus +QT.xcb_qpa_lib_private.module_config = v2 internal_module +QT.xcb_qpa_lib_private.DEFINES = QT_XCB_QPA_LIB_LIB +QT_MODULES += xcb_qpa_lib diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,18 @@ +QT.xml.VERSION = 5.7.1 +QT.xml.MAJOR_VERSION = 5 +QT.xml.MINOR_VERSION = 7 +QT.xml.PATCH_VERSION = 1 +QT.xml.name = QtXml +QT.xml.module = Qt5Xml +QT.xml.libs = $$QT_MODULE_LIB_BASE +QT.xml.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtXml +QT.xml.frameworks = +QT.xml.bins = $$QT_MODULE_BIN_BASE +QT.xml.libexecs = $$QT_MODULE_LIBEXEC_BASE +QT.xml.plugins = $$QT_MODULE_PLUGIN_BASE +QT.xml.imports = $$QT_MODULE_IMPORT_BASE +QT.xml.qml = $$QT_MODULE_QML_BASE +QT.xml.depends = core +QT.xml.module_config = v2 +QT.xml.DEFINES = QT_XML_LIB +QT_MODULES += xml diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,11 @@ +QT.xml_private.VERSION = 5.7.1 +QT.xml_private.MAJOR_VERSION = 5 +QT.xml_private.MINOR_VERSION = 7 +QT.xml_private.PATCH_VERSION = 1 +QT.xml_private.name = QtXml +QT.xml_private.module = +QT.xml_private.libs = $$QT_MODULE_LIB_BASE +QT.xml_private.includes = $$QT_MODULE_INCLUDE_BASE/QtXml/5.7.1 $$QT_MODULE_INCLUDE_BASE/QtXml/5.7.1/QtXml +QT.xml_private.frameworks = +QT.xml_private.depends = core_private xml +QT.xml_private.module_config = v2 internal_module diff -Nru robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri --- robocut-1.0.8/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri 1970-01-01 00:00:00.000000000 +0000 +++ robocut-1.0.11/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri 2017-09-14 00:23:04.000000000 +0000 @@ -0,0 +1,26 @@ +#configuration +CONFIG += shared qpa release qt_no_framework +host_build { + QT_ARCH = x86_64 + QT_TARGET_ARCH = x86_64 +} else { + QT_ARCH = x86_64 +} +QT_CONFIG += minimal-config small-config medium-config large-config full-config release_tools gtk3 fontconfig libudev evdev xkbcommon-evdev libinput xlib xrender xcb-plugin xcb-render xcb-glx xcb-xlib xcb-sm accessibility-atspi-bridge gbm linuxfb kms c++11 c++14 c++1z accessibility egl egl_x11 eglfs eglfs_egldevice eglfs_gbm opengl shared qpa reduce_exports reduce_relocations clock-gettime clock-monotonic posix_fallocate mremap getaddrinfo ipv6ifname getifaddrs inotify eventfd threadsafe-cloexec poll_ppoll system-jpeg system-png png system-doubleconversion system-freetype system-harfbuzz system-zlib mtdev cups iconv glib dbus dbus-linked openssl libproxy xcb xinput2 alsa pulseaudio gstreamer-1.0 icu concurrent audio-backend release + +#versioning +QT_VERSION = 5.7.1 +QT_MAJOR_VERSION = 5 +QT_MINOR_VERSION = 7 +QT_PATCH_VERSION = 1 + +#namespaces +QT_LIBINFIX = +QT_NAMESPACE = + +QT_EDITION = OpenSource + +QT_COMPILER_STDCXX = 201402 +QT_GCC_MAJOR_VERSION = 6 +QT_GCC_MINOR_VERSION = 3 +QT_GCC_PATCH_VERSION = 0