From 49d4ae6e50fb83db45266f2b038f54087361d036 Mon Sep 17 00:00:00 2001 From: Wolfgang Spraul Date: Sun, 8 Apr 2012 08:37:48 +0200 Subject: [PATCH] upleveled cmdline patches to kicad bzr 3493 --- kicad-cmdline-testing/.gitignore | 2 + kicad-cmdline-testing/kicmd_test.sh | 4 +- kicad-patches/README | 32 +++++- kicad-patches/cmdline-common.patch | 62 ++++++------ kicad-patches/cmdline-eeschema.patch | 71 +++++++------ kicad-patches/cmdline-new.patch | 50 +++++---- kicad-patches/cmdline-pcbnew.patch | 145 ++++++++++++--------------- kicad-patches/kicad_diff.sh | 8 +- kicad-patches/series | 2 +- 9 files changed, 201 insertions(+), 175 deletions(-) create mode 100644 kicad-cmdline-testing/.gitignore diff --git a/kicad-cmdline-testing/.gitignore b/kicad-cmdline-testing/.gitignore new file mode 100644 index 0000000..eb4ee56 --- /dev/null +++ b/kicad-cmdline-testing/.gitignore @@ -0,0 +1,2 @@ +ben-wpan +kicad-libs diff --git a/kicad-cmdline-testing/kicmd_test.sh b/kicad-cmdline-testing/kicmd_test.sh index aaa9fae..ce4df98 100755 --- a/kicad-cmdline-testing/kicmd_test.sh +++ b/kicad-cmdline-testing/kicmd_test.sh @@ -100,7 +100,7 @@ if [ "$1" == "test" ]; then $PCBNEW --drc atusb.brd ls -la *.rpt echo ----- - echo Generating .pos front and back position files: + echo Generating .pos position file: $PCBNEW --pos atusb.brd ls -la *.pos echo ----- @@ -132,7 +132,7 @@ if [ "$1" == "clean" ]; then atusb.erc \ atusb.net \ atusb.drl atusb-NPTH.drl \ - atusb_Front.pos \ + atusb_all.pos \ atusb.rpt \ atusb.cmp \ atusb.csv \ diff --git a/kicad-patches/README b/kicad-patches/README index 101d7fe..526dc6e 100644 --- a/kicad-patches/README +++ b/kicad-patches/README @@ -1,7 +1,7 @@ First build ----------- -bzr checkout -r 3378 lp:kicad kicad.bzr +bzr checkout -r 3493 lp:kicad kicad.bzr cd kicad.bzr ln -s wherever/eda-tools/kicad-patches patches quilt push -a @@ -23,3 +23,33 @@ quilt push -a cmake . make -j 5 make install + +Uplevel patches to latest KiCad +------------------------------- + +git clone git@projects.qi-hardware.com:eda-tools.git + +bzr branch lp:kicad +cp -a kicad kicad. +cd kicad + +# apply patches manually +patch --dry-run -p1 < ../eda-tools/kicad-patches/cmdline_{new,common,eeschema,pcbnew}.patch +# check with --dry-run, apply carefully, go through .rej files +# delete all .rej and .orig files + +# build latest KiCad with upleveled patches +cmake -DKICAD_TESTING_VERSION=ON . +make -j 5 + +# test cmdline functionality +cd ../eda-tools/kicad-cmdline-testing +./kicmd_test clean +./kicmd_test test +# check that the output files look right, no crashes, no dialogs and +# that a subsequent ./kicmd_test clean will find and delete all +# expected files + +./eda-tools/kicad-patches/kicad_diff.sh +# check patches, move to eda-tools/kicad-patches, update doc, check +# that it applies clean, commit diff --git a/kicad-patches/cmdline-common.patch b/kicad-patches/cmdline-common.patch index 694375a..112c86f 100644 --- a/kicad-patches/cmdline-common.patch +++ b/kicad-patches/cmdline-common.patch @@ -1,6 +1,6 @@ -diff -ru kicad.orig/include/appl_wxstruct.h kicad/include/appl_wxstruct.h ---- kicad.orig/include/appl_wxstruct.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/include/appl_wxstruct.h 2012-01-25 11:59:30.048140872 +0100 +diff -ru kicad.3493/include/appl_wxstruct.h kicad/include/appl_wxstruct.h +--- kicad.3493/include/appl_wxstruct.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/include/appl_wxstruct.h 2012-04-08 06:48:52.439995635 +0200 @@ -52,6 +52,7 @@ class wxSingleInstanceChecker; class wxHtmlHelpController; @@ -18,11 +18,10 @@ diff -ru kicad.orig/include/appl_wxstruct.h kicad/include/appl_wxstruct.h /** * Function SetLanguage * sets the dictionary file name for internationalization. -Only in kicad/include: netlist_lexer.h -diff -ru kicad.orig/include/wxBasePcbFrame.h kicad/include/wxBasePcbFrame.h ---- kicad.orig/include/wxBasePcbFrame.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/include/wxBasePcbFrame.h 2012-01-25 11:59:30.049140864 +0100 -@@ -517,6 +517,7 @@ +diff -ru kicad.3493/include/wxBasePcbFrame.h kicad/include/wxBasePcbFrame.h +--- kicad.3493/include/wxBasePcbFrame.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/include/wxBasePcbFrame.h 2012-04-08 06:48:52.440995630 +0200 +@@ -571,6 +571,7 @@ bool ExportToDxfFile( const wxString& aFullFileName, int aLayer, @@ -30,10 +29,10 @@ diff -ru kicad.orig/include/wxBasePcbFrame.h kicad/include/wxBasePcbFrame.h EDA_DRAW_MODE_T aTraceMode ); void Plot_Layer( PLOTTER* plotter, -diff -ru kicad.orig/include/wxEeschemaStruct.h kicad/include/wxEeschemaStruct.h ---- kicad.orig/include/wxEeschemaStruct.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/include/wxEeschemaStruct.h 2012-01-25 11:59:30.119140342 +0100 -@@ -593,6 +593,8 @@ +diff -ru kicad.3493/include/wxEeschemaStruct.h kicad/include/wxEeschemaStruct.h +--- kicad.3493/include/wxEeschemaStruct.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/include/wxEeschemaStruct.h 2012-04-08 06:48:52.442995618 +0200 +@@ -595,6 +595,8 @@ void SVG_Print( wxCommandEvent& event ); // Plot functions: @@ -42,10 +41,10 @@ diff -ru kicad.orig/include/wxEeschemaStruct.h kicad/include/wxEeschemaStruct.h void ToPlot_PS( wxCommandEvent& event ); void ToPlot_HPGL( wxCommandEvent& event ); void ToPlot_DXF( wxCommandEvent& event ); -diff -ru kicad.orig/include/wxPcbStruct.h kicad/include/wxPcbStruct.h ---- kicad.orig/include/wxPcbStruct.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/include/wxPcbStruct.h 2012-01-25 11:59:30.199139746 +0100 -@@ -75,6 +75,7 @@ +diff -ru kicad.3493/include/wxPcbStruct.h kicad/include/wxPcbStruct.h +--- kicad.3493/include/wxPcbStruct.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/include/wxPcbStruct.h 2012-04-08 06:48:52.445995601 +0200 +@@ -74,6 +74,7 @@ class PCB_EDIT_FRAME : public PCB_BASE_FRAME { friend class PCB_LAYER_WIDGET; @@ -53,18 +52,19 @@ diff -ru kicad.orig/include/wxPcbStruct.h kicad/include/wxPcbStruct.h void updateTraceWidthSelectBox(); void updateViaSizeSelectBox(); -Only in kicad/common: CMakeFiles -Only in kicad/common: cmake_install.cmake -diff -ru kicad.orig/common/confirm.cpp kicad/common/confirm.cpp ---- kicad.orig/common/confirm.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/common/confirm.cpp 2012-01-25 11:59:30.201139731 +0100 -@@ -9,11 +9,18 @@ - #include - #include +diff -ru kicad.3493/common/confirm.cpp kicad/common/confirm.cpp +--- kicad.3493/common/confirm.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/common/confirm.cpp 2012-04-08 06:49:55.618649886 +0200 +@@ -11,6 +11,8 @@ + #include + #include +bool g_CmdLineMode = false; - - void DisplayError( wxWindow* parent, const wxString& text, int displaytime ) ++ + class DIALOG_EXIT: public DIALOG_EXIT_BASE + { + public: +@@ -42,6 +44,12 @@ { wxMessageDialog* dialog; @@ -77,7 +77,7 @@ diff -ru kicad.orig/common/confirm.cpp kicad/common/confirm.cpp if( displaytime > 0 ) dialog = new wxMessageDialog( parent, text, _( "Warning" ), wxOK | wxCENTRE | wxICON_INFORMATION ); -@@ -30,6 +37,12 @@ +@@ -58,6 +66,12 @@ { wxMessageDialog* dialog; @@ -90,7 +90,7 @@ diff -ru kicad.orig/common/confirm.cpp kicad/common/confirm.cpp dialog = new wxMessageDialog( parent, text, _( "Info:" ), wxOK | wxCENTRE | wxICON_INFORMATION ); -@@ -41,6 +54,12 @@ +@@ -69,6 +83,12 @@ void DisplayHtmlInfoMessage( wxWindow* parent, const wxString& title, const wxString& text, const wxSize& size ) { @@ -103,9 +103,9 @@ diff -ru kicad.orig/common/confirm.cpp kicad/common/confirm.cpp HTML_MESSAGE_BOX *dlg = new HTML_MESSAGE_BOX(parent,title, wxDefaultPosition, size ); dlg->AddHTML_Text( text ); dlg->ShowModal(); -diff -ru kicad.orig/common/edaappl.cpp kicad/common/edaappl.cpp ---- kicad.orig/common/edaappl.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/common/edaappl.cpp 2012-01-25 11:59:30.202139723 +0100 +diff -ru kicad.3493/common/edaappl.cpp kicad/common/edaappl.cpp +--- kicad.3493/common/edaappl.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/common/edaappl.cpp 2012-04-08 06:48:52.448995586 +0200 @@ -306,6 +306,7 @@ wxString EnvLang; diff --git a/kicad-patches/cmdline-eeschema.patch b/kicad-patches/cmdline-eeschema.patch index c5edfa7..96b5561 100644 --- a/kicad-patches/cmdline-eeschema.patch +++ b/kicad-patches/cmdline-eeschema.patch @@ -1,7 +1,7 @@ -diff -ru kicad.orig/eeschema/CMakeLists.txt kicad/eeschema/CMakeLists.txt ---- kicad.orig/eeschema/CMakeLists.txt 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/CMakeLists.txt 2012-01-25 12:16:26.730617529 +0100 -@@ -81,6 +81,7 @@ +diff -ru kicad.3493/eeschema/CMakeLists.txt kicad/eeschema/CMakeLists.txt +--- kicad.3493/eeschema/CMakeLists.txt 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/CMakeLists.txt 2012-04-08 06:50:45.274378556 +0200 +@@ -82,6 +82,7 @@ eeredraw.cpp eeschema.cpp eeschema_config.cpp @@ -9,9 +9,9 @@ diff -ru kicad.orig/eeschema/CMakeLists.txt kicad/eeschema/CMakeLists.txt erc.cpp events_called_functions_for_edit.cpp files-io.cpp -diff -ru kicad.orig/eeschema/dialogs/dialog_build_BOM.h kicad/eeschema/dialogs/dialog_build_BOM.h ---- kicad.orig/eeschema/dialogs/dialog_build_BOM.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_build_BOM.h 2012-01-25 12:16:26.730617529 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_build_BOM.h kicad/eeschema/dialogs/dialog_build_BOM.h +--- kicad.3493/eeschema/dialogs/dialog_build_BOM.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_build_BOM.h 2012-04-08 06:50:45.278378536 +0200 @@ -17,6 +17,7 @@ class DIALOG_BUILD_BOM : public DIALOG_BUILD_BOM_BASE @@ -20,9 +20,9 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_build_BOM.h kicad/eeschema/dialogs/d private: EDA_DRAW_FRAME* m_Parent; wxConfig* m_Config; -diff -ru kicad.orig/eeschema/dialogs/dialog_erc.cpp kicad/eeschema/dialogs/dialog_erc.cpp ---- kicad.orig/eeschema/dialogs/dialog_erc.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_erc.cpp 2012-01-25 12:16:26.742617441 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_erc.cpp kicad/eeschema/dialogs/dialog_erc.cpp +--- kicad.3493/eeschema/dialogs/dialog_erc.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_erc.cpp 2012-04-08 06:50:45.279378530 +0200 @@ -574,10 +574,10 @@ _( "Electronic rule check file (.erc)|*.erc" ), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); @@ -36,9 +36,9 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_erc.cpp kicad/eeschema/dialogs/dialo { Close( true ); ExecuteFile( this, wxGetApp().GetEditorName(), QuoteFullPath( fn ) ); -diff -ru kicad.orig/eeschema/dialogs/dialog_erc.h kicad/eeschema/dialogs/dialog_erc.h ---- kicad.orig/eeschema/dialogs/dialog_erc.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_erc.h 2012-01-25 12:16:26.742617441 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_erc.h kicad/eeschema/dialogs/dialog_erc.h +--- kicad.3493/eeschema/dialogs/dialog_erc.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_erc.h 2012-04-08 06:50:45.280378524 +0200 @@ -29,6 +29,7 @@ class DIALOG_ERC : public DIALOG_ERC_BASE @@ -47,9 +47,9 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_erc.h kicad/eeschema/dialogs/dialog_ DECLARE_EVENT_TABLE() private: -diff -ru kicad.orig/eeschema/dialogs/dialog_plot_schematic_DXF.cpp kicad/eeschema/dialogs/dialog_plot_schematic_DXF.cpp ---- kicad.orig/eeschema/dialogs/dialog_plot_schematic_DXF.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_plot_schematic_DXF.cpp 2012-01-25 12:16:26.743617434 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_plot_schematic_DXF.cpp kicad/eeschema/dialogs/dialog_plot_schematic_DXF.cpp +--- kicad.3493/eeschema/dialogs/dialog_plot_schematic_DXF.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_plot_schematic_DXF.cpp 2012-04-08 06:50:45.281378518 +0200 @@ -42,6 +42,7 @@ class DIALOG_PLOT_SCHEMATIC_DXF : public DIALOG_PLOT_SCHEMATIC_DXF_BASE @@ -74,9 +74,9 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_plot_schematic_DXF.cpp kicad/eeschem void SCH_EDIT_FRAME::ToPlot_DXF( wxCommandEvent& event ) { DIALOG_PLOT_SCHEMATIC_DXF DXF_frame( this ); -diff -ru kicad.orig/eeschema/dialogs/dialog_plot_schematic_PS.cpp kicad/eeschema/dialogs/dialog_plot_schematic_PS.cpp ---- kicad.orig/eeschema/dialogs/dialog_plot_schematic_PS.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_plot_schematic_PS.cpp 2012-01-25 12:16:26.743617434 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_plot_schematic_PS.cpp kicad/eeschema/dialogs/dialog_plot_schematic_PS.cpp +--- kicad.3493/eeschema/dialogs/dialog_plot_schematic_PS.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_plot_schematic_PS.cpp 2012-04-08 06:50:45.282378513 +0200 @@ -48,6 +48,7 @@ class DIALOG_PLOT_SCHEMATIC_PS : public DIALOG_PLOT_SCHEMATIC_PS_BASE @@ -101,9 +101,9 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_plot_schematic_PS.cpp kicad/eeschema void SCH_EDIT_FRAME::ToPlot_PS( wxCommandEvent& event ) { DIALOG_PLOT_SCHEMATIC_PS dlg( this ); -diff -ru kicad.orig/eeschema/dialogs/dialog_SVG_print.cpp kicad/eeschema/dialogs/dialog_SVG_print.cpp ---- kicad.orig/eeschema/dialogs/dialog_SVG_print.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_SVG_print.cpp 2012-01-25 12:16:26.744617426 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_SVG_print.cpp kicad/eeschema/dialogs/dialog_SVG_print.cpp +--- kicad.3493/eeschema/dialogs/dialog_SVG_print.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_SVG_print.cpp 2012-04-08 06:50:45.283378508 +0200 @@ -53,6 +53,13 @@ static bool s_Print_Frame_Ref = true; static int s_PlotBlackAndWhite = 0; @@ -118,9 +118,9 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_SVG_print.cpp kicad/eeschema/dialogs /*! * DIALOG_SVG_PRINT functions -diff -ru kicad.orig/eeschema/dialogs/dialog_SVG_print.h kicad/eeschema/dialogs/dialog_SVG_print.h ---- kicad.orig/eeschema/dialogs/dialog_SVG_print.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/dialogs/dialog_SVG_print.h 2012-01-25 12:16:26.744617426 +0100 +diff -ru kicad.3493/eeschema/dialogs/dialog_SVG_print.h kicad/eeschema/dialogs/dialog_SVG_print.h +--- kicad.3493/eeschema/dialogs/dialog_SVG_print.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/dialogs/dialog_SVG_print.h 2012-04-08 06:50:45.283378508 +0200 @@ -11,6 +11,8 @@ class DIALOG_SVG_PRINT : public DIALOG_SVG_PRINT_base @@ -130,21 +130,18 @@ diff -ru kicad.orig/eeschema/dialogs/dialog_SVG_print.h kicad/eeschema/dialogs/d private: EDA_DRAW_FRAME* m_Parent; wxConfig* m_Config; -Only in kicad/eeschema: eeschema -Only in kicad/eeschema: eeschema_cmdline.cpp -Only in kicad/eeschema: eeschema_cmdline.h -diff -ru kicad.orig/eeschema/eeschema.cpp kicad/eeschema/eeschema.cpp ---- kicad.orig/eeschema/eeschema.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/eeschema/eeschema.cpp 2012-01-25 12:16:58.330385504 +0100 -@@ -41,6 +41,7 @@ +diff -ru kicad.3493/eeschema/eeschema.cpp kicad/eeschema/eeschema.cpp +--- kicad.3493/eeschema/eeschema.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/eeschema/eeschema.cpp 2012-04-08 06:51:29.448137537 +0200 +@@ -39,6 +39,7 @@ + #include + #include #include ++#include #include #include -+#include - - #include - -@@ -122,6 +123,9 @@ + #include +@@ -123,6 +124,9 @@ wxFileName filename; SCH_EDIT_FRAME* frame = NULL; diff --git a/kicad-patches/cmdline-new.patch b/kicad-patches/cmdline-new.patch index c90219b..f0adfb8 100644 --- a/kicad-patches/cmdline-new.patch +++ b/kicad-patches/cmdline-new.patch @@ -1,5 +1,5 @@ ---- /dev/null 2012-01-06 01:10:09.493787641 +0100 -+++ kicad/eeschema/eeschema_cmdline.h 2012-01-25 11:59:18.262228810 +0100 +--- /dev/null 2012-04-03 10:16:45.622661012 +0200 ++++ kicad/eeschema/eeschema_cmdline.h 2012-04-08 06:48:35.478088781 +0200 @@ -0,0 +1,14 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: eeschema_cmdline.h @@ -15,8 +15,8 @@ +}; + +extern EESCHEMA_CMDLINE g_EESchemaCmdLine; ---- /dev/null 2012-01-06 01:10:09.493787641 +0100 -+++ kicad/eeschema/eeschema_cmdline.cpp 2012-01-25 12:29:57.467694380 +0100 +--- /dev/null 2012-04-03 10:16:45.622661012 +0200 ++++ kicad/eeschema/eeschema_cmdline.cpp 2012-04-08 07:11:42.232529821 +0200 @@ -0,0 +1,234 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: eeschema_cmdline.cpp @@ -40,6 +40,7 @@ +#include +#include +#include ++#include +#include + +EESCHEMA_CMDLINE g_EESchemaCmdLine; @@ -234,8 +235,7 @@ + frame->BuildNetListBase(); + fn.SetExt( wxT( "net" ) ); + frame->WriteNetListFile( NET_TYPE_PCBNEW /* aFormat */, -+ fn.GetFullPath(), false /* aUse_netnames - only used for Spice */, -+ false /* aUsePrefix */ ); ++ fn.GetFullPath(), 0 /* aNetlistOptions */ ); + } + else if ( parser.Found( wxT("bom") ) ) + { @@ -252,8 +252,8 @@ + } + return true; +} ---- /dev/null 2012-01-06 01:10:09.493787641 +0100 -+++ kicad/pcbnew/pcbnew_cmdline.h 2012-01-25 11:59:20.948208768 +0100 +--- /dev/null 2012-04-03 10:16:45.622661012 +0200 ++++ kicad/pcbnew/pcbnew_cmdline.h 2012-04-08 06:48:35.482088711 +0200 @@ -0,0 +1,7 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: pcbnew_cmdline.h @@ -262,9 +262,9 @@ +///////////////////////////////////////////////////////////////////////////// + +bool Pcbnew_CmdLine(); ---- /dev/null 2012-01-06 01:10:09.493787641 +0100 -+++ kicad/pcbnew/pcbnew_cmdline.cpp 2012-01-25 12:30:23.351506231 +0100 -@@ -0,0 +1,526 @@ +--- /dev/null 2012-04-03 10:16:45.622661012 +0200 ++++ kicad/pcbnew/pcbnew_cmdline.cpp 2012-04-08 08:12:17.841567431 +0200 +@@ -0,0 +1,538 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: pcbnew_cmdline.cpp +// Copyright: Wolfgang Spraul @@ -307,6 +307,7 @@ +#include +#include +#include ++#include + +extern int g_DrawDefaultLineThickness; + @@ -457,9 +458,11 @@ + if ( parser.Found( wxT("plot"), &str ) ) // see pcbplot.cpp + { + int plot_format; ++ PCB_PLOT_PARAMS plot_params; + wxString ext, layers_str; + -+ g_PcbPlotOptions.m_PlotLineWidth = g_DrawDefaultLineThickness; ++ plot_params = frame->GetPlotSettings(); ++ plot_params.m_PlotLineWidth = g_DrawDefaultLineThickness; + if (!str.CmpNoCase( wxT("ps") ) ) + { + plot_format = PLOT_FORMAT_POST; @@ -492,11 +495,11 @@ + && parser.Found( wxT("plot-drill-marks"), &str ) ) + { + if (!str.CmpNoCase( wxT("none") ) ) -+ g_PcbPlotOptions.m_DrillShapeOpt = PCB_PLOT_PARAMS::NO_DRILL_SHAPE; ++ plot_params.m_DrillShapeOpt = PCB_PLOT_PARAMS::NO_DRILL_SHAPE; + else if ( !str.CmpNoCase( wxT("small") ) ) -+ g_PcbPlotOptions.m_DrillShapeOpt = PCB_PLOT_PARAMS::SMALL_DRILL_SHAPE; ++ plot_params.m_DrillShapeOpt = PCB_PLOT_PARAMS::SMALL_DRILL_SHAPE; + else if ( !str.CmpNoCase( wxT("actual") ) ) -+ g_PcbPlotOptions.m_DrillShapeOpt = PCB_PLOT_PARAMS::FULL_DRILL_SHAPE; ++ plot_params.m_DrillShapeOpt = PCB_PLOT_PARAMS::FULL_DRILL_SHAPE; + else + { + wxFprintf( stderr, wxT("Unexpected Postscript plot drill marks option '%ls'.\n"), str.c_str()); @@ -505,12 +508,14 @@ + } + + // --plot-mirror -+ g_PcbPlotOptions.m_PlotMirror = parser.Found( wxT("plot-mirror") ); ++ plot_params.m_PlotMirror = parser.Found( wxT("plot-mirror") ); + + // --plot-exclude-edge -+ g_PcbPlotOptions.m_ExcludeEdgeLayer = ++ plot_params.m_ExcludeEdgeLayer = + parser.Found( wxT("plot-exclude-edge") ); + ++ frame->SetPlotSettings(plot_params); ++ + parser.Found( wxT("layers"), &layers_str ); + wxStringTokenizer tokenizer( layers_str, _(",") ); + int layer_i = 0; @@ -766,8 +771,15 @@ + } + + if ( parser.Found( wxT("pos") ) ) -+ // see gen_modules_placefile.cpp:PCB_EDIT_FRAME::GenModulesPosition() -+ frame->GenModulesPosition( dummy ); ++ { ++ // see gen_modules_placefile.cpp:PCB_EDIT_FRAME::GenFootprintsPositionFile() ++ fn = cmdline_fn; ++ fn.SetName( fn.GetName() + wxT( "_all") ); ++ fn.SetExt( FootprintPlaceFileExtension ); ++ frame->DoGenFootprintsPositionFile( fn.GetFullPath(), ++ true /* aUnitsMM */, true /* aForceSmdItems */, ++ 2 /* aSide, 2 = both */ ); ++ } + + if ( parser.Found( wxT("bom") ) ) + // see build_BOM_from_board.cpp:PCB_EDIT_FRAME::RecreateBOMFileFromBoard() diff --git a/kicad-patches/cmdline-pcbnew.patch b/kicad-patches/cmdline-pcbnew.patch index d278ba5..b9b26bd 100644 --- a/kicad-patches/cmdline-pcbnew.patch +++ b/kicad-patches/cmdline-pcbnew.patch @@ -1,6 +1,6 @@ -diff -ru kicad.orig/pcbnew/build_BOM_from_board.cpp kicad/pcbnew/build_BOM_from_board.cpp ---- kicad.orig/pcbnew/build_BOM_from_board.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/build_BOM_from_board.cpp 2012-01-25 12:18:17.031808065 +0100 +diff -ru kicad.3493/pcbnew/build_BOM_from_board.cpp kicad/pcbnew/build_BOM_from_board.cpp +--- kicad.3493/pcbnew/build_BOM_from_board.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/build_BOM_from_board.cpp 2012-04-08 06:52:44.569728557 +0200 @@ -67,6 +67,7 @@ fn = GetScreen()->GetFileName(); fn.SetExt( CsvFileExtension ); @@ -17,32 +17,31 @@ diff -ru kicad.orig/pcbnew/build_BOM_from_board.cpp kicad/pcbnew/build_BOM_from_ FichBom = wxFopen( fn.GetFullPath(), wxT( "wt" ) ); -diff -ru kicad.orig/pcbnew/CMakeLists.txt kicad/pcbnew/CMakeLists.txt ---- kicad.orig/pcbnew/CMakeLists.txt 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/CMakeLists.txt 2012-01-25 12:18:17.032808058 +0100 -@@ -155,6 +155,7 @@ +diff -ru kicad.3493/pcbnew/CMakeLists.txt kicad/pcbnew/CMakeLists.txt +--- kicad.3493/pcbnew/CMakeLists.txt 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/CMakeLists.txt 2012-04-08 06:52:44.572728497 +0200 +@@ -162,6 +162,7 @@ + onleftclick.cpp onrightclick.cpp - pcb_plot_params.cpp pcbnew.cpp + pcbnew_cmdline.cpp pcbnew_config.cpp pcbplot.cpp plotgerb.cpp -Only in kicad/pcbnew/dialogs: dialog_freeroute_exchange_help_html.h -diff -ru kicad.orig/pcbnew/dialogs/dialog_gendrill.h kicad/pcbnew/dialogs/dialog_gendrill.h ---- kicad.orig/pcbnew/dialogs/dialog_gendrill.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/dialogs/dialog_gendrill.h 2012-01-25 12:18:17.043807978 +0100 +diff -ru kicad.3493/pcbnew/dialogs/dialog_gendrill.h kicad/pcbnew/dialogs/dialog_gendrill.h +--- kicad.3493/pcbnew/dialogs/dialog_gendrill.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/dialogs/dialog_gendrill.h 2012-04-08 06:52:44.574728462 +0200 @@ -33,6 +33,7 @@ class DIALOG_GENDRILL : public DIALOG_GENDRILL_BASE { +friend bool Pcbnew_CmdLine(); public: - static int m_UnitDrillIsInch; - static int m_ZerosFormat; -diff -ru kicad.orig/pcbnew/dialogs/dialog_SVG_print.h kicad/pcbnew/dialogs/dialog_SVG_print.h ---- kicad.orig/pcbnew/dialogs/dialog_SVG_print.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/dialogs/dialog_SVG_print.h 2012-01-25 12:18:17.044807971 +0100 + DIALOG_GENDRILL( PCB_EDIT_FRAME* parent ); + ~DIALOG_GENDRILL(); +diff -ru kicad.3493/pcbnew/dialogs/dialog_SVG_print.h kicad/pcbnew/dialogs/dialog_SVG_print.h +--- kicad.3493/pcbnew/dialogs/dialog_SVG_print.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/dialogs/dialog_SVG_print.h 2012-04-08 06:52:44.575728446 +0200 @@ -13,6 +13,7 @@ class DIALOG_SVG_PRINT : public DIALOG_SVG_PRINT_base @@ -51,9 +50,9 @@ diff -ru kicad.orig/pcbnew/dialogs/dialog_SVG_print.h kicad/pcbnew/dialogs/dialo private: PCB_BASE_FRAME* m_Parent; wxConfig* m_Config; -diff -ru kicad.orig/pcbnew/drc_stuff.h kicad/pcbnew/drc_stuff.h ---- kicad.orig/pcbnew/drc_stuff.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/drc_stuff.h 2012-01-25 12:18:17.045807964 +0100 +diff -ru kicad.3493/pcbnew/drc_stuff.h kicad/pcbnew/drc_stuff.h +--- kicad.3493/pcbnew/drc_stuff.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/drc_stuff.h 2012-04-08 06:52:44.576728430 +0200 @@ -146,6 +146,7 @@ */ class DRC @@ -62,10 +61,10 @@ diff -ru kicad.orig/pcbnew/drc_stuff.h kicad/pcbnew/drc_stuff.h friend class DIALOG_DRC_CONTROL; private: -diff -ru kicad.orig/pcbnew/gendrill.cpp kicad/pcbnew/gendrill.cpp ---- kicad.orig/pcbnew/gendrill.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/gendrill.cpp 2012-01-25 12:18:17.046807957 +0100 -@@ -159,8 +159,13 @@ +diff -ru kicad.3493/pcbnew/gendrill.cpp kicad/pcbnew/gendrill.cpp +--- kicad.3493/pcbnew/gendrill.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/gendrill.cpp 2012-04-08 06:52:44.582728348 +0200 +@@ -155,8 +155,13 @@ fn.GetFullName(), wxGetTranslation( DrillFileWildcard ), wxFD_SAVE | wxFD_CHANGE_DIR ); @@ -79,7 +78,7 @@ diff -ru kicad.orig/pcbnew/gendrill.cpp kicad/pcbnew/gendrill.cpp FILE* aFile = wxFopen( dlg.GetPath(), wxT( "w" ) ); -@@ -619,8 +624,13 @@ +@@ -615,8 +620,13 @@ fn.GetFullName(), wildcard, wxFD_SAVE ); @@ -93,8 +92,8 @@ diff -ru kicad.orig/pcbnew/gendrill.cpp kicad/pcbnew/gendrill.cpp FILE* plotfile = wxFopen( dlg.GetPath(), wxT( "wt" ) ); -@@ -659,8 +669,13 @@ - fn.GetFullName(), wxGetTranslation( RptFileWildcard ), +@@ -655,8 +665,13 @@ + fn.GetFullName(), wxGetTranslation( ReportFileWildcard ), wxFD_SAVE ); + if ( g_CmdLineMode ) { @@ -107,12 +106,12 @@ diff -ru kicad.orig/pcbnew/gendrill.cpp kicad/pcbnew/gendrill.cpp FILE* report_dest = wxFopen( dlg.GetPath(), wxT( "w" ) ); -diff -ru kicad.orig/pcbnew/gen_modules_placefile.cpp kicad/pcbnew/gen_modules_placefile.cpp ---- kicad.orig/pcbnew/gen_modules_placefile.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/gen_modules_placefile.cpp 2012-01-25 12:18:17.047807949 +0100 -@@ -138,10 +138,10 @@ - return; - } +diff -ru kicad.3493/pcbnew/gen_modules_placefile.cpp kicad/pcbnew/gen_modules_placefile.cpp +--- kicad.3493/pcbnew/gen_modules_placefile.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/gen_modules_placefile.cpp 2012-04-08 06:52:44.586728303 +0200 +@@ -501,10 +501,10 @@ + { + wxFileName fn; - wxString boardFilePath = ( (wxFileName) GetScreen()->GetFileName()).GetPath(); + wxString boardFilePath = ( (wxFileName) GetScreen()->GetFileName()).GetFullPath(); @@ -122,31 +121,19 @@ diff -ru kicad.orig/pcbnew/gen_modules_placefile.cpp kicad/pcbnew/gen_modules_pl + if( !g_CmdLineMode && dirDialog.ShowModal() == wxID_CANCEL ) return; - fnFront = GetScreen()->GetFileName(); -@@ -298,6 +298,7 @@ - msg.Append( fnBack.GetFullPath() ); - } + fn = GetScreen()->GetFileName(); +diff -ru kicad.3493/pcbnew/pcbnew.cpp kicad/pcbnew/pcbnew.cpp +--- kicad.3493/pcbnew/pcbnew.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/pcbnew.cpp 2012-04-08 06:53:10.458587343 +0200 +@@ -42,6 +42,7 @@ + #include -+ if ( !g_CmdLineMode ) - wxMessageBox( msg, _( "Module Position File" ), wxICON_INFORMATION ); - - exit: // the only safe way out of here, no returns please. -Only in kicad/pcbnew: Makefile -Only in kicad/pcbnew: pcbnew -Only in kicad/pcbnew: pcbnew_cmdline.cpp -Only in kicad/pcbnew: pcbnew_cmdline.h -diff -ru kicad.orig/pcbnew/pcbnew.cpp kicad/pcbnew/pcbnew.cpp ---- kicad.orig/pcbnew/pcbnew.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/pcbnew.cpp 2012-01-25 12:18:40.160638484 +0100 -@@ -44,6 +44,7 @@ #include ++#include #include #include -+#include - - - // Colors for layers and items -@@ -111,6 +112,9 @@ + #include +@@ -102,6 +103,9 @@ wxFileName fn; PCB_EDIT_FRAME* frame = NULL; @@ -156,32 +143,32 @@ diff -ru kicad.orig/pcbnew/pcbnew.cpp kicad/pcbnew/pcbnew.cpp InitEDA_Appl( wxT( "Pcbnew" ), APP_PCBNEW_T ); if( m_Checker && m_Checker->IsAnotherRunning() ) -Only in kicad/pcbnew: pcbnew.cpp.rej -diff -ru kicad.orig/pcbnew/pcbnew.h kicad/pcbnew/pcbnew.h ---- kicad.orig/pcbnew/pcbnew.h 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/pcbnew.h 2012-01-25 12:18:17.049807933 +0100 -@@ -41,6 +41,7 @@ - #define FORCE_SKETCH ( IS_DRAGGED | IN_EDIT ) +diff -ru kicad.3493/pcbnew/pcbnew.h kicad/pcbnew/pcbnew.h +--- kicad.3493/pcbnew/pcbnew.h 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/pcbnew.h 2012-04-08 06:52:44.592728207 +0200 +@@ -49,6 +49,7 @@ + extern wxString g_DocModulesFileName; /* variables */ +extern bool g_CmdLineMode; extern bool Drc_On; extern bool g_AutoDeleteOldTrack; extern bool g_Drag_Pistes_On; -diff -ru kicad.orig/pcbnew/pcbplot.cpp kicad/pcbnew/pcbplot.cpp ---- kicad.orig/pcbnew/pcbplot.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/pcbplot.cpp 2012-01-25 12:18:17.050807926 +0100 -@@ -819,6 +819,7 @@ +diff -ru kicad.3493/pcbnew/pcbplot.cpp kicad/pcbnew/pcbplot.cpp +--- kicad.3493/pcbnew/pcbplot.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/pcbplot.cpp 2012-04-08 07:03:09.733176047 +0200 +@@ -806,7 +806,7 @@ case PLOT_FORMAT_DXF: - success = m_Parent->ExportToDxfFile( fn.GetFullPath(), layer, -+ false, - g_PcbPlotOptions.m_PlotMode ); + success = m_parent->ExportToDxfFile( fn.GetFullPath(), layer, +- m_plotOpts.m_PlotMode ); ++ false, m_plotOpts.m_PlotMode ); break; } -diff -ru kicad.orig/pcbnew/plotdxf.cpp kicad/pcbnew/plotdxf.cpp ---- kicad.orig/pcbnew/plotdxf.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/plotdxf.cpp 2012-01-25 12:18:17.050807926 +0100 + +diff -ru kicad.3493/pcbnew/plotdxf.cpp kicad/pcbnew/plotdxf.cpp +--- kicad.3493/pcbnew/plotdxf.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/plotdxf.cpp 2012-04-08 06:52:44.599728094 +0200 @@ -16,7 +16,7 @@ @@ -191,7 +178,7 @@ diff -ru kicad.orig/pcbnew/plotdxf.cpp kicad/pcbnew/plotdxf.cpp { LOCALE_IO toggle; -@@ -27,9 +27,21 @@ +@@ -29,9 +29,21 @@ return false; } @@ -214,20 +201,18 @@ diff -ru kicad.orig/pcbnew/plotdxf.cpp kicad/pcbnew/plotdxf.cpp plotter->set_creator( wxT( "PCBNEW-DXF" ) ); plotter->set_filename( aFullFileName ); plotter->start_plot( output_file ); -Only in kicad/pcbnew: specctra_keywords.cpp -Only in kicad/pcbnew: specctra_lexer.h -diff -ru kicad.orig/pcbnew/xchgmod.cpp kicad/pcbnew/xchgmod.cpp ---- kicad.orig/pcbnew/xchgmod.cpp 2012-01-25 13:11:10.508078000 +0100 -+++ kicad/pcbnew/xchgmod.cpp 2012-01-25 12:18:17.051807919 +0100 -@@ -601,6 +601,7 @@ - fn.SetExt( NetCmpExtBuffer ); - wildcard = _( "Component files (." ) + NetCmpExtBuffer + wxT( ")|*." ) + NetCmpExtBuffer; +diff -ru kicad.3493/pcbnew/xchgmod.cpp kicad/pcbnew/xchgmod.cpp +--- kicad.3493/pcbnew/xchgmod.cpp 2012-04-08 03:24:18.653600000 +0200 ++++ kicad/pcbnew/xchgmod.cpp 2012-04-08 06:52:44.602728064 +0200 +@@ -602,6 +602,7 @@ + fn.SetExt( ComponentFileExtension ); + wildcard = wxGetTranslation( ComponentFileWildcard ); + if ( !g_CmdLineMode) { wxFileDialog dlg( this, _( "Save Component Files" ), wxGetCwd(), fn.GetFullName(), wildcard, wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); -@@ -609,6 +610,7 @@ +@@ -610,6 +611,7 @@ return; fn = dlg.GetPath(); diff --git a/kicad-patches/kicad_diff.sh b/kicad-patches/kicad_diff.sh index 8caaf87..35fb1dc 100755 --- a/kicad-patches/kicad_diff.sh +++ b/kicad-patches/kicad_diff.sh @@ -3,7 +3,7 @@ diff -u /dev/null kicad/eeschema/eeschema_cmdline.h > cmdline-new.patch diff -u /dev/null kicad/eeschema/eeschema_cmdline.cpp >> cmdline-new.patch diff -u /dev/null kicad/pcbnew/pcbnew_cmdline.h >> cmdline-new.patch diff -u /dev/null kicad/pcbnew/pcbnew_cmdline.cpp >> cmdline-new.patch -diff -ru kicad.orig/include kicad/include > cmdline-common.patch -diff -ru kicad.orig/common kicad/common >> cmdline-common.patch -diff -ru kicad.orig/eeschema kicad/eeschema > cmdline-eeschema.patch -diff -ru kicad.orig/pcbnew kicad/pcbnew > cmdline-pcbnew.patch +diff -ru kicad.$1/include kicad/include | sed '/^Only in/d' > cmdline-common.patch +diff -ru kicad.$1/common kicad/common | sed '/^Only in/d' >> cmdline-common.patch +diff -ru kicad.$1/eeschema kicad/eeschema | sed '/^Only in/d' > cmdline-eeschema.patch +diff -ru kicad.$1/pcbnew kicad/pcbnew | sed '/^Only in/d' > cmdline-pcbnew.patch diff --git a/kicad-patches/series b/kicad-patches/series index 4171d68..ec5ae29 100644 --- a/kicad-patches/series +++ b/kicad-patches/series @@ -1,4 +1,4 @@ -# Based on BZR revision 3378 +# Based on BZR revision 3493 # under discussion # fix-pinedit-collision.patch