1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
13 <h2 class=
"sectionedit1" id=
"build_system">Build system
</h2>
17 You must have a working build system before you even can think about hacking the source code. Make sure you can build a git clone.
<br/>
19 Try building the sources from git before you try anything else.
<br/>
21 The wiki page
<a href=
"http://wiki.geda-project.org/geda:developer" class=
"urlextern" title=
"http://wiki.geda-project.org/geda:developer" rel=
"nofollow">http://wiki.geda-project.org/geda:developer
</a> shows the git command to get the geda-gaf repository. We are talking about pcb here.
<br/>
22 For pcb we need to do:
24 <pre class=
"code">git clone git://git.geda-project.org/pcb.git
</pre>
27 For the other repositories take a look at
<a href=
"http://git.geda-project.org/" class=
"urlextern" title=
"http://git.geda-project.org/" rel=
"nofollow">http://git.geda-project.org/
</a>
31 Next get your build system working.
<a href=
"http://wiki.geda-project.org/geda:gaf_building_git_version" class=
"urlextern" title=
"http://wiki.geda-project.org/geda:gaf_building_git_version" rel=
"nofollow">http://wiki.geda-project.org/geda:gaf_building_git_version
</a>
35 While working on the pcb sources remember that PCB uses The AutoTools as there build system.
<br/>
36 This isn
't as daunting as it sounds, for the newbie developer.
<br/>
37 The PCB development team has made it easy for us.
43 <pre class=
"code">./autogen.sh
</pre>
46 and the scary part is over
<img src=
"images/smileys/icon_wink.gif" align=
"middle" alt=
";-)" />
52 <pre class=
"code">./configure
56 The autogen.sh script is usually only needed once, after a git clone or if a file is added to be build into PCB. See
<a href=
"geda-pcb_developer_introduction.html#example" class=
"wikilink1" title=
"geda-pcb_developer_introduction.html">Example
</a> on when to use the autogen.sh script.
60 For more information on the AutoTools take a look at:
<a href=
"https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html" class=
"urlextern" title=
"https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html" rel=
"nofollow">https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html
</a>
64 If you want to know more about git take a look at:
<a href=
"https://git-scm.com/docs/gittutorial" class=
"urlextern" title=
"https://git-scm.com/docs/gittutorial" rel=
"nofollow">https://git-scm.com/docs/gittutorial
</a>
68 <!-- EDIT1 SECTION "Build system" [1-1392] -->
69 <h2 class=
"sectionedit2" id=
"dependencies">Dependencies
</h2>
73 PCB is a open source program and it uses open source libraries and tools to do what it does.
74 Doing a
<code>repoquery –requires pcb
</code> on my Fedora
20 system show the following dependencies:
76 <div class=
"table sectionedit3"><table class=
"inline">
78 <td class=
"col0 rightalign"> perl
</td><td class=
"col1 rightalign"> libdl.so
.2()
</td><td class=
"col2 rightalign"> libm.so
.6(GLIBC_2.2
.5)
</td>
81 <td class=
"col0 rightalign"> wish
</td><td class=
"col1 rightalign"> libdl.so
.2(GLIBC_2.2
.5)
</td><td class=
"col2 rightalign"> libpango-
1.0.so
.0()
</td>
84 <td class=
"col0 rightalign"> libGL.so
.1()
</td><td class=
"col1 rightalign"> libfontconfig.so
.1()
</td><td class=
"col2 rightalign"> libpangocairo-
1.0.so
.0()
</td>
87 <td class=
"col0 rightalign"> libGLU.so
.1()
</td><td class=
"col1 rightalign"> libfreetype.so
.6()
</td><td class=
"col2 rightalign"> libpangoft2-
1.0.so
.0()
</td>
90 <td class=
"col0 rightalign"> libICE.so
.6()
</td><td class=
"col1 rightalign"> libgd.so
.3()
</td><td class=
"col2 rightalign"> libpangox-
1.0.so
.0()
</td>
93 <td class=
"col0 rightalign"> libSM.so
.6()
</td><td class=
"col1 rightalign"> libgdk-x11-
2.0.so
.0()
</td><td class=
"col2 rightalign"> libpng16.so
.16()
</td>
96 <td class=
"col0 rightalign"> libX11.so
.6()
</td><td class=
"col1 rightalign"> libgdk_pixbuf-
2.0.so
.0()
</td><td class=
"col2 rightalign"> libpthread.so
.0()
</td>
99 <td class=
"col0 rightalign"> libXinerama.so
.1()
</td><td class=
"col1 rightalign"> libgdkglext-x11-
1.0.so
.0()
</td><td class=
"col2 rightalign"> libpthread.so
.0(GLIBC_2.2
.5)
</td>
102 <td class=
"col0 rightalign"> libXmu.so
.6()
</td><td class=
"col1 rightalign"> libgio-
2.0.so
.0()
</td><td class=
"col2 rightalign"> libtiff.so
.5()
</td>
105 <td class=
"col0 rightalign"> libXpm.so
.4()
</td><td class=
"col1 rightalign"> libglib-
2.0.so
.0()
</td><td class=
"col2 rightalign"> libvpx.so
.1()
</td>
108 <td class=
"col0 rightalign"> libXrender.so
.1()
</td><td class=
"col1 rightalign"> libgmodule-
2.0.so
.0()
</td><td class=
"col2 rightalign"> libz.so
.1()
</td>
111 <td class=
"col0 rightalign"> libXt.so
.6()
</td><td class=
"col1 rightalign"> libgobject-
2.0.so
.0()
</td><td class=
"col2 rightalign"> m4
</td>
114 <td class=
"col0 rightalign"> libatk-
1.0.so
.0()
</td><td class=
"col1 rightalign"> libgtk-x11-
2.0.so
.0()
</td><td class=
"col2 rightalign"> perl(File::Basename)
</td>
117 <td class=
"col0 rightalign"> libc.so
.6(GLIBC_2.14)
</td><td class=
"col1 rightalign"> libgtkglext-x11-
1.0.so
.0()
</td><td class=
"col2 rightalign"> perl(File::Copy)
</td>
120 <td class=
"col0 rightalign"> libcairo.so
.2()
</td><td class=
"col1 rightalign"> libjpeg.so
.62()
</td><td class=
"col2 rightalign"> rtld(GNU_HASH)
</td>
123 <td class=
"col0 rightalign"> libdbus-
1.so
.3()
</td><td class=
"col1 rightalign"> libm.so
.6()
</td><td class=
"col2"> </td>
126 <!-- EDIT3 TABLE [1606-2557] -->
128 <!-- EDIT2 SECTION "Dependencies" [1393-] --></body>