kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #24779
[PATCH 00/12] A few well-aged patches
Hi,
these have been in my patch stack for ages, so I'd think they should be
generally safe. None of these should really change any actual
functionality (except for fixing Unicode file names on Windows), but I'd
really like to drop them from the stack I keep on rebasing onto every new
version -- also, not having to patch central header files will speed up my
builds considerably.
To summarize:
- idf2vrml uses "int main(int, char **)" as main function. This does not
work with Unicode file names on Windows, where all non-ANSI characters
are replaced with question marks. A patch from Cirilo converts it to use
wxAppConsole instead, making it the responsibility of the wx framework.
Two additional patches from me go on top of that -- console apps need a
different wxIMPLEMENT_APP invocation, and a few header files then go
unused.
- the known portability fixes: using std::atomic<> instead of gcc
intrinsics, adding missing stdlib headers, fixing name lookup for a few
definitions, avoiding C99 style compound statements, fixing linkage on
Windows, fixing the return type of Pgm() by introducing a separate
PgmTop()
- a VS2015 workaround. The original code makes no sense, the new code
equally doesn't make any sense, but it is more readable and does not
trigger a compiler bug, so I'd call it a net improvement.
- fine-grained performance measurement primitives on Windows, using the
TSC instead of the system clock.
- CURL does not necessarily use OpenSSL, so we can avoid a dependency here
if we're not going to use it. This is still decided by platform, ideally
we'd determine what version of CURL we are linking against (or CURL
would fix the problem themselves).
Cirilo Bernardo (1):
Convert idf2vrml to use wxApp etc for option processing
Simon Richter (11):
Use std::atomic for portable locale init counting
Add missing C++ stdlib headers
Open namespace around definitions
Avoid C99 style compound statement
Avoid conflicting declaration for Pgm()
Make sure KIFACE_GETTER linkage is consistent
Work around VC++ 2015 bug.
windows: provide performance measurement primitives
Narrow assumption on OpenSSL use
Use wxIMPLEMENT_APP_CONSOLE for console apps
Drop <libgen.h> and <unistd.h>, no longer needed
bitmap2component/bitmap2cmp_gui.cpp | 2 +-
common/common.cpp | 10 +-
common/gal/graphics_abstraction_layer.cpp | 2 +
common/grid_tricks.cpp | 2 +
common/kicad_curl/kicad_curl.cpp | 2 +-
common/selcolor.cpp | 2 +
common/tool/action_manager.cpp | 1 +
eeschema/autoplace_fields.cpp | 5 +-
eeschema/class_library.h | 2 +
eeschema/dialogs/dialog_lib_edit_pin_table.cpp | 2 +
eeschema/sch_sheet_path.h | 2 +
gerbview/class_gerber_file_image.cpp | 1 +
gerbview/class_gerber_file_image_list.cpp | 2 +
include/common.h | 4 +-
include/kiway.h | 10 +-
include/math/box2.h | 8 +-
include/pgm_base.h | 2 -
include/profile.h | 32 +++
include/tool/tool_event.h | 1 +
include/tool/tool_manager.h | 1 +
kicad/files-io.cpp | 2 +-
kicad/kicad.cpp | 9 +-
kicad/mainframe.cpp | 8 +-
kicad/menubar.cpp | 6 +-
kicad/pgm_kicad.h | 3 +-
kicad/prjconfig.cpp | 8 +-
pcb_calculator/transline/transline.cpp | 1 +
pcbnew/layer_widget.cpp | 3 +
pcbnew/ratsnest_data.h | 2 +
pcbnew/ratsnest_viewitem.cpp | 4 +-
pcbnew/router/pns_diff_pair.cpp | 1 +
pcbnew/router/pns_optimizer.cpp | 2 +
pcbnew/router/pns_utils.cpp | 2 +
pcbnew/tools/conditional_menu.h | 1 +
pcbnew/tools/edit_points.h | 3 +
polygon/math_for_graphics.cpp | 1 +
utils/idftools/idf2vrml.cpp | 269 ++++++++++++-------------
utils/idftools/idf_common.cpp | 1 +
38 files changed, 245 insertions(+), 174 deletions(-)
--
2.1.4
Follow ups