154 lines
5.2 KiB
Plaintext
154 lines
5.2 KiB
Plaintext
How to build kicad:
|
|
|
|
kicad do not use configure (Use of Cmake is in progress)
|
|
it is compiled with make.
|
|
|
|
kicad needs wxWidgets (the multi platform G.U.I.)
|
|
|
|
unzip sources in a working directory.
|
|
This will create the directory "kicad-dev".
|
|
|
|
First you must install wxWidgets (see www.wxWidgets.org)
|
|
See below for suggested configure command.
|
|
|
|
Linux compilation:
|
|
You must have:
|
|
wxWidgets ( I suggest you install wxWidgets in /usr/local).
|
|
(see below for suggested configure command, then make and make install)
|
|
|
|
Mesa: pcbnew and cvpcv need openGL or mesa.
|
|
(you must install mesa devel if libGL et libGLU are not found).
|
|
GTK 2 (install development libraries).
|
|
|
|
Because old version of Mesa has problem under a recent linux distrib (mandarke 10.1),
|
|
I am using Mesa version 6.2.1, statically compiled, installed in /usr/local
|
|
Mesa installation:
|
|
Get MesaLib-6.2.1.tar.gz from http://www.mesa3d.org/
|
|
in /usr/local : tar zxvf MesaLib-6.2.1.tar.gz
|
|
in /usr/local/Mesa-6.2.1 :
|
|
make linux-x86-static
|
|
make install ( libGL.a et libGLU.a are copied in /usr/local/lib, and header in /usr/local/include)
|
|
|
|
kicad compilation:
|
|
in kicad-dev:
|
|
Have a look to libs.linux (you can/must edit this file if you have problems)
|
|
Currently libs.linux uses wxWidgets 2.8.6 build (see below for suggested configure command)
|
|
lines to edit:
|
|
STD_INSTALL = 1
|
|
which can be (see comments in libs.linux)
|
|
STD_INSTALL = 1
|
|
|
|
after libs.linux edition:
|
|
run make -f makefile.gtk
|
|
|
|
Windows compilation:
|
|
|
|
kicad is build with mingw and msys.
|
|
Currently libs.win uses wxWidgets 2.8.6 (see below for suggested configure command)
|
|
|
|
install mingw and msys ( see mingw.org )
|
|
(opengl libs are included in mingw or windows)
|
|
|
|
Under msys:
|
|
(Warning: make.exe utility is sometime renamed mingw32-make.exe in install process
|
|
of msys.)
|
|
|
|
Build wxWidgets (currently version 2.8.6)
|
|
See below for suggested configure command, then make
|
|
|
|
In include/wx/msw/setup.h, check (and edit if needed) the defines :
|
|
#define wxUSE_GLCANVAS 1
|
|
#define wxUSE_MOUSEWHEEL 1 // Include mouse wheel support
|
|
#define wxUSE_HOTKEY 0 // Hotkey support (currently Windows only)
|
|
|
|
|
|
Exit msys.
|
|
Set environment variable WXWIN ( something as wxwin=/d/wxWidgets-2.8.6
|
|
for a wxWidget installed in d:\wxWidgets-2.8.6)
|
|
|
|
Have a look to libs.win (Currently this file handle wxWidgets 2.8.6)
|
|
|
|
Under msys:
|
|
in kicad-dev:
|
|
run make -f makefile.g95
|
|
|
|
*************************************************************************************
|
|
Building wxWidgets:
|
|
*************************************************************************************
|
|
linux:
|
|
rm *.cache
|
|
./configure --enable-monolithic --enable-unicode=no --enable-shared=no --with-opengl --with-libpng=builtin --with-libjpeg=builtin --with-libtiff=builtin --with-zlib=builtin --with-regex=builtin
|
|
|
|
linux-unicode:
|
|
rm *.cache
|
|
./configure --enable-monolithic --enable-unicode=yes --enable-shared=no --with-opengl --with-libpng=builtin --with-libjpeg=builtin --with-libtiff=builtin --with-zlib=builtin --with-regex=builtin
|
|
|
|
osX:
|
|
rm *.cache
|
|
./configure --enable-unicode=yes --enable-shared=no --enable-monolithic --with-opengl --disable-universal --disable-compat24
|
|
|
|
osX-unicode:
|
|
rm *.cache
|
|
./configure --enable-unicode=yes --enable-shared=no --enable-monolithic --with-opengl --enable-universal_binary
|
|
|
|
windows:
|
|
rm *.cache
|
|
./configure --enable-unicode=no --enable-shared=no --enable-monolithic --with-msw --with-opengl --with-odbc
|
|
|
|
windows-unicode:
|
|
rm *.cache
|
|
./configure --enable-unicode=yes --enable-shared=no --enable-monolithic --with-msw --with-opengl
|
|
|
|
*************************************************************************************
|
|
Patch wxWidgets
|
|
*************************************************************************************
|
|
*************************************************************************************
|
|
wxGTK version:
|
|
*************************************************************************************
|
|
Patch for printing wide traces that were showing missing rounded end caps:
|
|
wxGTK-2.8.6/src/generic/dcpsg.cpp
|
|
line 1634
|
|
PsPrint( "%%EndProlog\n" );
|
|
|
|
must be
|
|
PsPrint( "%%EndProlog\n" );
|
|
PsPrint("%%BeginSetup\n");
|
|
PsPrint( "1 setlinecap\n" );
|
|
PsPrint("%%EndSetup\n");
|
|
|
|
|
|
patch for Arcs drawings (NOT NEEDED for wxWidgets 2.7.1, needed for versions prior to 2.7.1)
|
|
wxGTK-2.x.y/src/gtk/dcclient.cpp
|
|
in function WindowDC::DoDrawArc
|
|
line 572 for wxWidgets 2.7.0-1:
|
|
if (m_pen.GetStyle() != wxTRANSPARENT)
|
|
{
|
|
gdk_draw_arc( m_window, m_penGC, FALSE, xxc-r, yyc-r, 2*r,2*r, alpha1, alpha2 );
|
|
|
|
gdk_draw_line( m_window, m_penGC, xx1, yy1, xxc, yyc );
|
|
gdk_draw_line( m_window, m_penGC, xxc, yyc, xx2, yy2 );
|
|
}
|
|
must be
|
|
if (m_pen.GetStyle() != wxTRANSPARENT)
|
|
{
|
|
gdk_draw_arc( m_window, m_penGC, FALSE, xxc-r, yyc-r, 2*r,2*r, alpha1, alpha2 );
|
|
|
|
if (m_brush.GetStyle() != wxTRANSPARENT)
|
|
{
|
|
gdk_draw_line( m_window, m_penGC, xx1, yy1, xxc, yyc );
|
|
gdk_draw_line( m_window, m_penGC, xxc, yyc, xx2, yy2 );
|
|
}
|
|
}
|
|
|
|
|
|
*************************************************************************************
|
|
wxMSW version: for wxWMSW 2.8.1 only
|
|
*************************************************************************************
|
|
|
|
wxMSW.2.8.1/src/msw/menu.cpp
|
|
line 410
|
|
if ( !pItem->IsOwnerDrawn() )
|
|
must be
|
|
if ( !pItem->IsOwnerDrawn() && !pItem->IsSeparator() )
|
|
|