Update wiki pages
[geda-gaf.git] / docs / wiki / geda-building_pcb.html
blobd8bae161cdc25e3a98a51df91f9c03183a4fa598
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
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" />
10 </head>
11 <body>
13 <h2 class="sectionedit1" id="build_system">Build system</h2>
14 <div class="level2">
16 <p>
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:
23 </p>
24 <pre class="code">git clone git://git.geda-project.org/pcb.git</pre>
26 <p>
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>
28 </p>
30 <p>
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>
32 </p>
34 <p>
35 While working on the pcb sources remember that PCB uses The AutoTools as there build system.<br/>
36 This isn&#039;t as daunting as it sounds, for the newbie developer.<br/>
37 The PCB development team has made it easy for us.
38 </p>
40 <p>
41 Generally just run:
42 </p>
43 <pre class="code">./autogen.sh</pre>
45 <p>
46 and the scary part is over <img src="images/smileys/icon_wink.gif" align="middle" alt=";-)" />
47 </p>
49 <p>
50 Then do the usual:
51 </p>
52 <pre class="code">./configure
53 make</pre>
55 <p>
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.
57 </p>
59 <p>
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>
61 </p>
63 <p>
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>
65 </p>
67 </div>
68 <!-- EDIT1 SECTION "Build system" [1-1392] -->
69 <h2 class="sectionedit2" id="dependencies">Dependencies</h2>
70 <div class="level2">
72 <p>
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:
75 </p>
76 <div class="table sectionedit3"><table class="inline">
77 <tr class="row0">
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>
79 </tr>
80 <tr class="row1">
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>
82 </tr>
83 <tr class="row2">
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>
85 </tr>
86 <tr class="row3">
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>
88 </tr>
89 <tr class="row4">
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>
91 </tr>
92 <tr class="row5">
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>
94 </tr>
95 <tr class="row6">
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>
97 </tr>
98 <tr class="row7">
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>
100 </tr>
101 <tr class="row8">
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>
103 </tr>
104 <tr class="row9">
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>
106 </tr>
107 <tr class="row10">
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>
109 </tr>
110 <tr class="row11">
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>
112 </tr>
113 <tr class="row12">
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>
115 </tr>
116 <tr class="row13">
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>
118 </tr>
119 <tr class="row14">
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>
121 </tr>
122 <tr class="row15">
123 <td class="col0 rightalign"> libdbus-1.so.3()</td><td class="col1 rightalign"> libm.so.6()</td><td class="col2"> </td>
124 </tr>
125 </table></div>
126 <!-- EDIT3 TABLE [1606-2557] -->
127 </div>
128 <!-- EDIT2 SECTION "Dependencies" [1393-] --></body>
129 </html>