mirror of https://github.com/KLayout/klayout.git
Some update to fix build issues (this time, Linux)
- All platforms support native hash values for long long etc. with the TR1 containers - Use non-static, function symbols to force linking. - Debian package is picky about dates so give them some in Changelog.
This commit is contained in:
parent
8fa3baa594
commit
c46bed0785
|
|
@ -1,9 +1,9 @@
|
|||
0.26 (xxxx-xx-xx):
|
||||
0.26 (2018-12-31):
|
||||
* Enhancement: Standalone Python modules provided
|
||||
For details see:
|
||||
https://github.com/klayoutmatthias/klayout/wiki/klayout---Standalone-KLayout-Python-Module
|
||||
|
||||
0.25.5 (xxxx-xx-xx):
|
||||
0.25.5 (2018-12-31):
|
||||
|
||||
* Bugfix: https://github.com/klayoutmatthias/klayout/issues/162
|
||||
GDS2 LIBNAME was not maintained on "File/Save".
|
||||
|
|
|
|||
|
|
@ -3093,7 +3093,7 @@ END
|
|||
src.puts("# define GSI_#{modn.upcase}_LOCAL DEF_OUTSIDE_LOCAL")
|
||||
src.puts("# endif")
|
||||
src.puts("")
|
||||
src.puts("#define FORCE_LINK_GSI_#{modn.upcase} void force_link_gsi#{modn}_f () { GSI_#{modn.upcase}_PUBLIC int force_link_gsi#{modn}; force_link_gsi#{modn} = 0; }")
|
||||
src.puts("#define FORCE_LINK_GSI_#{modn.upcase} GSI_#{modn.upcase}_PUBLIC int _force_link_gsi#{modn}_f (); int _force_link_gsi#{modn} = _force_link_gsi#{modn}_f ();")
|
||||
src.puts("")
|
||||
src.puts("#endif")
|
||||
|
||||
|
|
@ -3120,7 +3120,7 @@ END
|
|||
src.puts("")
|
||||
src.puts("#include \"gsi#{modn}Common.h\"")
|
||||
src.puts("")
|
||||
src.puts("GSI_#{modn.upcase}_PUBLIC int force_link_gsi#{modn} = 0;")
|
||||
src.puts("GSI_#{modn.upcase}_PUBLIC int _force_link_gsi#{modn}_f () { return 0; }")
|
||||
src.puts("")
|
||||
|
||||
puts("#{src_name} written.")
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
namespace ant
|
||||
{
|
||||
ANT_PUBLIC int _force_link_f ();
|
||||
static int _force_link_target = _force_link_f ();
|
||||
int _force_link_target = _force_link_f ();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -43,53 +43,13 @@
|
|||
|
||||
/**
|
||||
* This header defines some hash functions for various database objects
|
||||
* for use with std_ext::hash_map and std_ext::hash_set
|
||||
* for use with std::unordered_map and std::unordered_set
|
||||
*
|
||||
* It also provides namespace abstraction for the std_ext namespace
|
||||
*/
|
||||
|
||||
namespace std
|
||||
{
|
||||
#if defined(_WIN64) && !defined(_MSC_VER)
|
||||
/**
|
||||
* @brief Specialization missing for size_t on WIN64
|
||||
*/
|
||||
template<>
|
||||
struct hash<size_t>
|
||||
{
|
||||
size_t operator()(size_t __x) const
|
||||
{
|
||||
return __x;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if (defined(_WIN64) && !defined(_MSC_VER)) || defined(__APPLE__)
|
||||
/**
|
||||
* @brief Specialization missing for long long on WIN64
|
||||
*/
|
||||
template<>
|
||||
struct hash<long long>
|
||||
{
|
||||
size_t operator()(long long __x) const
|
||||
{
|
||||
return size_t (__x);
|
||||
}
|
||||
};
|
||||
#elif defined(_WIN32)
|
||||
/**
|
||||
* @brief Specialization missing for long long (64 bit) on WIN32
|
||||
*/
|
||||
template<>
|
||||
struct hash<long long>
|
||||
{
|
||||
size_t operator()(long long __x) const
|
||||
{
|
||||
return size_t (__x ^ (__x >> 32));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
inline size_t hfunc (const T &t)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
namespace drc
|
||||
{
|
||||
DRC_PUBLIC int _force_link_f ();
|
||||
static int _force_link_target = _force_link_f ();
|
||||
int _force_link_target = _force_link_f ();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTCORE_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTCORE void force_link_gsiQtCore_f () { GSI_QTCORE_PUBLIC int force_link_gsiQtCore; force_link_gsiQtCore = 0; }
|
||||
#define FORCE_LINK_GSI_QTCORE GSI_QTCORE_PUBLIC int _force_link_gsiQtCore_f (); int _force_link_gsiQtCore = _force_link_gsiQtCore_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtCoreCommon.h"
|
||||
|
||||
GSI_QTCORE_PUBLIC int force_link_gsiQtCore = 0;
|
||||
GSI_QTCORE_PUBLIC int _force_link_gsiQtCore_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTDESIGNER_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTDESIGNER void force_link_gsiQtDesigner_f () { GSI_QTDESIGNER_PUBLIC int force_link_gsiQtDesigner; force_link_gsiQtDesigner = 0; }
|
||||
#define FORCE_LINK_GSI_QTDESIGNER GSI_QTDESIGNER_PUBLIC int _force_link_gsiQtDesigner_f (); int _force_link_gsiQtDesigner = _force_link_gsiQtDesigner_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtDesignerCommon.h"
|
||||
|
||||
GSI_QTDESIGNER_PUBLIC int force_link_gsiQtDesigner = 0;
|
||||
GSI_QTDESIGNER_PUBLIC int _force_link_gsiQtDesigner_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTGUI_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTGUI void force_link_gsiQtGui_f () { GSI_QTGUI_PUBLIC int force_link_gsiQtGui; force_link_gsiQtGui = 0; }
|
||||
#define FORCE_LINK_GSI_QTGUI GSI_QTGUI_PUBLIC int _force_link_gsiQtGui_f (); int _force_link_gsiQtGui = _force_link_gsiQtGui_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtGuiCommon.h"
|
||||
|
||||
GSI_QTGUI_PUBLIC int force_link_gsiQtGui = 0;
|
||||
GSI_QTGUI_PUBLIC int _force_link_gsiQtGui_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTNETWORK_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTNETWORK void force_link_gsiQtNetwork_f () { GSI_QTNETWORK_PUBLIC int force_link_gsiQtNetwork; force_link_gsiQtNetwork = 0; }
|
||||
#define FORCE_LINK_GSI_QTNETWORK GSI_QTNETWORK_PUBLIC int _force_link_gsiQtNetwork_f (); int _force_link_gsiQtNetwork = _force_link_gsiQtNetwork_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtNetworkCommon.h"
|
||||
|
||||
GSI_QTNETWORK_PUBLIC int force_link_gsiQtNetwork = 0;
|
||||
GSI_QTNETWORK_PUBLIC int _force_link_gsiQtNetwork_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTSQL_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTSQL void force_link_gsiQtSql_f () { GSI_QTSQL_PUBLIC int force_link_gsiQtSql; force_link_gsiQtSql = 0; }
|
||||
#define FORCE_LINK_GSI_QTSQL GSI_QTSQL_PUBLIC int _force_link_gsiQtSql_f (); int _force_link_gsiQtSql = _force_link_gsiQtSql_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtSqlCommon.h"
|
||||
|
||||
GSI_QTSQL_PUBLIC int force_link_gsiQtSql = 0;
|
||||
GSI_QTSQL_PUBLIC int _force_link_gsiQtSql_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTXML_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTXML void force_link_gsiQtXml_f () { GSI_QTXML_PUBLIC int force_link_gsiQtXml; force_link_gsiQtXml = 0; }
|
||||
#define FORCE_LINK_GSI_QTXML GSI_QTXML_PUBLIC int _force_link_gsiQtXml_f (); int _force_link_gsiQtXml = _force_link_gsiQtXml_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtXmlCommon.h"
|
||||
|
||||
GSI_QTXML_PUBLIC int force_link_gsiQtXml = 0;
|
||||
GSI_QTXML_PUBLIC int _force_link_gsiQtXml_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTCORE_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTCORE void force_link_gsiQtCore_f () { GSI_QTCORE_PUBLIC int force_link_gsiQtCore; force_link_gsiQtCore = 0; }
|
||||
#define FORCE_LINK_GSI_QTCORE GSI_QTCORE_PUBLIC int _force_link_gsiQtCore_f (); int _force_link_gsiQtCore = _force_link_gsiQtCore_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtCoreCommon.h"
|
||||
|
||||
GSI_QTCORE_PUBLIC int force_link_gsiQtCore = 0;
|
||||
GSI_QTCORE_PUBLIC int _force_link_gsiQtCore_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTDESIGNER_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTDESIGNER void force_link_gsiQtDesigner_f () { GSI_QTDESIGNER_PUBLIC int force_link_gsiQtDesigner; force_link_gsiQtDesigner = 0; }
|
||||
#define FORCE_LINK_GSI_QTDESIGNER GSI_QTDESIGNER_PUBLIC int _force_link_gsiQtDesigner_f (); int _force_link_gsiQtDesigner = _force_link_gsiQtDesigner_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtDesignerCommon.h"
|
||||
|
||||
GSI_QTDESIGNER_PUBLIC int force_link_gsiQtDesigner = 0;
|
||||
GSI_QTDESIGNER_PUBLIC int _force_link_gsiQtDesigner_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTGUI_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTGUI void force_link_gsiQtGui_f () { GSI_QTGUI_PUBLIC int force_link_gsiQtGui; force_link_gsiQtGui = 0; }
|
||||
#define FORCE_LINK_GSI_QTGUI GSI_QTGUI_PUBLIC int _force_link_gsiQtGui_f (); int _force_link_gsiQtGui = _force_link_gsiQtGui_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtGuiCommon.h"
|
||||
|
||||
GSI_QTGUI_PUBLIC int force_link_gsiQtGui = 0;
|
||||
GSI_QTGUI_PUBLIC int _force_link_gsiQtGui_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTMULTIMEDIA_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTMULTIMEDIA void force_link_gsiQtMultimedia_f () { GSI_QTMULTIMEDIA_PUBLIC int force_link_gsiQtMultimedia; force_link_gsiQtMultimedia = 0; }
|
||||
#define FORCE_LINK_GSI_QTMULTIMEDIA GSI_QTMULTIMEDIA_PUBLIC int _force_link_gsiQtMultimedia_f (); int _force_link_gsiQtMultimedia = _force_link_gsiQtMultimedia_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtMultimediaCommon.h"
|
||||
|
||||
GSI_QTMULTIMEDIA_PUBLIC int force_link_gsiQtMultimedia = 0;
|
||||
GSI_QTMULTIMEDIA_PUBLIC int _force_link_gsiQtMultimedia_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTNETWORK_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTNETWORK void force_link_gsiQtNetwork_f () { GSI_QTNETWORK_PUBLIC int force_link_gsiQtNetwork; force_link_gsiQtNetwork = 0; }
|
||||
#define FORCE_LINK_GSI_QTNETWORK GSI_QTNETWORK_PUBLIC int _force_link_gsiQtNetwork_f (); int _force_link_gsiQtNetwork = _force_link_gsiQtNetwork_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtNetworkCommon.h"
|
||||
|
||||
GSI_QTNETWORK_PUBLIC int force_link_gsiQtNetwork = 0;
|
||||
GSI_QTNETWORK_PUBLIC int _force_link_gsiQtNetwork_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTPRINTSUPPORT_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTPRINTSUPPORT void force_link_gsiQtPrintSupport_f () { GSI_QTPRINTSUPPORT_PUBLIC int force_link_gsiQtPrintSupport; force_link_gsiQtPrintSupport = 0; }
|
||||
#define FORCE_LINK_GSI_QTPRINTSUPPORT GSI_QTPRINTSUPPORT_PUBLIC int _force_link_gsiQtPrintSupport_f (); int _force_link_gsiQtPrintSupport = _force_link_gsiQtPrintSupport_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtPrintSupportCommon.h"
|
||||
|
||||
GSI_QTPRINTSUPPORT_PUBLIC int force_link_gsiQtPrintSupport = 0;
|
||||
GSI_QTPRINTSUPPORT_PUBLIC int _force_link_gsiQtPrintSupport_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTSQL_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTSQL void force_link_gsiQtSql_f () { GSI_QTSQL_PUBLIC int force_link_gsiQtSql; force_link_gsiQtSql = 0; }
|
||||
#define FORCE_LINK_GSI_QTSQL GSI_QTSQL_PUBLIC int _force_link_gsiQtSql_f (); int _force_link_gsiQtSql = _force_link_gsiQtSql_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtSqlCommon.h"
|
||||
|
||||
GSI_QTSQL_PUBLIC int force_link_gsiQtSql = 0;
|
||||
GSI_QTSQL_PUBLIC int _force_link_gsiQtSql_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTSVG_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTSVG void force_link_gsiQtSvg_f () { GSI_QTSVG_PUBLIC int force_link_gsiQtSvg; force_link_gsiQtSvg = 0; }
|
||||
#define FORCE_LINK_GSI_QTSVG GSI_QTSVG_PUBLIC int _force_link_gsiQtSvg_f (); int _force_link_gsiQtSvg = _force_link_gsiQtSvg_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtSvgCommon.h"
|
||||
|
||||
GSI_QTSVG_PUBLIC int force_link_gsiQtSvg = 0;
|
||||
GSI_QTSVG_PUBLIC int _force_link_gsiQtSvg_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTWIDGETS_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTWIDGETS void force_link_gsiQtWidgets_f () { GSI_QTWIDGETS_PUBLIC int force_link_gsiQtWidgets; force_link_gsiQtWidgets = 0; }
|
||||
#define FORCE_LINK_GSI_QTWIDGETS GSI_QTWIDGETS_PUBLIC int _force_link_gsiQtWidgets_f (); int _force_link_gsiQtWidgets = _force_link_gsiQtWidgets_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtWidgetsCommon.h"
|
||||
|
||||
GSI_QTWIDGETS_PUBLIC int force_link_gsiQtWidgets = 0;
|
||||
GSI_QTWIDGETS_PUBLIC int _force_link_gsiQtWidgets_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTXML_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTXML void force_link_gsiQtXml_f () { GSI_QTXML_PUBLIC int force_link_gsiQtXml; force_link_gsiQtXml = 0; }
|
||||
#define FORCE_LINK_GSI_QTXML GSI_QTXML_PUBLIC int _force_link_gsiQtXml_f (); int _force_link_gsiQtXml = _force_link_gsiQtXml_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtXmlCommon.h"
|
||||
|
||||
GSI_QTXML_PUBLIC int force_link_gsiQtXml = 0;
|
||||
GSI_QTXML_PUBLIC int _force_link_gsiQtXml_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,6 @@
|
|||
# define GSI_QTXMLPATTERNS_LOCAL DEF_OUTSIDE_LOCAL
|
||||
# endif
|
||||
|
||||
#define FORCE_LINK_GSI_QTXMLPATTERNS void force_link_gsiQtXmlPatterns_f () { GSI_QTXMLPATTERNS_PUBLIC int force_link_gsiQtXmlPatterns; force_link_gsiQtXmlPatterns = 0; }
|
||||
#define FORCE_LINK_GSI_QTXMLPATTERNS GSI_QTXMLPATTERNS_PUBLIC int _force_link_gsiQtXmlPatterns_f (); int _force_link_gsiQtXmlPatterns = _force_link_gsiQtXmlPatterns_f ();
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@
|
|||
|
||||
#include "gsiQtXmlPatternsCommon.h"
|
||||
|
||||
GSI_QTXMLPATTERNS_PUBLIC int force_link_gsiQtXmlPatterns = 0;
|
||||
GSI_QTXMLPATTERNS_PUBLIC int _force_link_gsiQtXmlPatterns_f () { return 0; }
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
namespace img
|
||||
{
|
||||
IMG_PUBLIC int _force_link_f ();
|
||||
static int _force_link_target = _force_link_f ();
|
||||
int _force_link_target = _force_link_f ();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
namespace lib
|
||||
{
|
||||
LIB_PUBLIC int _force_link_f ();
|
||||
static int _force_link_target = _force_link_f ();
|
||||
int _force_link_target = _force_link_f ();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue