[mythtv] [patch] Documentation update for new ./configure script
Daniel Thor Kristjansson
danielk at mrl.nyu.edu
Wed Mar 2 16:30:04 UTC 2005
This patch goes with config-v8.patch.
It replaces text in the docs telling you to edit settings.pro,
with text telling you to run ./configure with the appropriate options.
It removes section "Notes on compiling for different processors" since
this should all be done by the script. And added a little note on
crosscompiling for C3 using --tune. That should be enough of a hint
to get anyone going.
-- Daniel
-------------- next part --------------
Index: docs/mythtv-HOWTO.sgml
===================================================================
RCS file: /var/lib/mythcvs/mythtv/docs/mythtv-HOWTO.sgml,v
retrieving revision 1.263
diff -u -r1.263 mythtv-HOWTO.sgml
--- docs/mythtv-HOWTO.sgml 27 Feb 2005 16:54:20 -0000 1.263
+++ docs/mythtv-HOWTO.sgml 2 Mar 2005 16:19:02 -0000
@@ -1136,7 +1136,7 @@
Fetched 3085kB in 0s (8120kB/s)
dpkg-source: extracting mythtv in mythtv-0.11
sh-2.05b# cd mythtv-0.11
-[customize settings.pro, etc.]
+[customize ./configure options]
[edit debian/changelog and increment the version number]
sh-2.05b# dpkg-buildpackage -rfakeroot -us -uc -b
[...]
@@ -1260,74 +1260,6 @@
name="http://lame.sourceforge.net/">. Download the source code to v3.96.1
by following the links from "Using" through "Download...".
-<sect1>Notes on compiling for different processors
-<label id="cpuspecificoptimizations">
-<P>By default, MythTV is compiled for a Pentium Pro or i686 processor. This
-generates good code for most CPUs, but does not take advantage of MMX or
-SSE, and does not work with recent processors that are compatible with older
-Intel processors, such as the Via or IDT low power processors. So you may
-wish to, or need to, change this before compiling. The flags in bold are
-required if you have that CPU.
-
-If you have a system with an AMD processor change the following in the
-<tt>settings.pro</tt> file. Replace <verb>-march=pentiumpro</verb> before
-you compile with one of:
-<itemize>
-<item><bf>-march=k6</bf> for the AMD K6 with MMX (i586 compatible)
-<item><bf>-march=k6-2</bf> for the AMD K6 CPU with MMX and 3dNOW! (i586 compatible)
-<item>-march=athlon for the AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and some of SSE. (pentium2 compatible)
-<item>-march=pentiumpro -mmmx for the AMD Athlon XP CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE. (pentium3 compatible)
-<item>-march=k8 for the AMD K8 core based CPUs with x86-64 instruction set support
- with MMX, 3dNOW!, enhanced 3dNOW!, SSE and SSE2. (pentium4 compatible)
-</itemize>
-
-<figure loc="here">
-<eps file="stop.eps" height="1cm">
-<img src="stop.png">
-<caption>
-<bf>NOTE</bf>: If you wish to compile with the <tt>-march=k8</tt> flag you
-must use gcc v3.4 or higher.
-</caption>
-</figure>
-
-If you have a Via processor change the following in the
-<tt>settings.pro</tt> file. Replace <verb>-march=pentiumpro</verb> before
-you compile with one of:
-<itemize>
-<item><bf>-march=c3</bf> for the Via C3 CPU with MMX and 3dNOW! instruction set support. (pentium-mmx compatible)
-<item><bf>-march=c3-2</bf> for the Via C3-2 CPU with MMX and SSE instruction set support. (pentium2 compatible)
-</itemize>
-
-If you have an IDT Winchip processor change the following in the
-<tt>settings.pro</tt> file. Replace <verb>-march=pentiumpro</verb> before
-you compile with one of:
-<itemize>
-<item><bf>-march=winchip-c6</bf> for the IDT Winchip C6 CPU with MMX (i486 compatible)
-<item><bf>-march=winchip2</bf> for the IDT Winchip2 CPU, with MMX and 3dNOW! (i486 compatible)
-</itemize>
-
-Finally, if you have an Intel processor other than the Pentium Pro you may
-wish to specify your particular model. Replace
-<verb>-march=pentiumpro</verb> before you compile with one of:
-<itemize>
-<item><bf>-march=i586</bf> for the Intel Pentium CPU without MMX
-<item><bf>-march=pentium-mmx</bf> for the Intel PentiumMMX CPU based on Pentium core with MMX
-<item>-march=pentium2 for the Intel Pentium2 CPU based on Pentium Pro core with MMX
-<item>-march=pentium3 for the Intel Pentium3 CPU based on Pentium Pro core with MMX and SSE
-<item>-march=pentium-m for the Intel Pentium-M CPU with MMX, SSE and SSE2. Used in Centrino notebooks.
-<item>-march=pentium4 for the Intel Pentium4 CPU with MMX, SSE and SSE2
-<item>-march=prescott for the Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3
-<item>-march=nocona for the Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3
-</itemize>
-
-<bf>NOTE</bf>: If your version of gcc does not support your processor,
-choose the most recent processor supported by your compiler and add any
-extra features, for instance the <tt>-march=winchip-c6</tt> would become
-<tt>-march=i486 -mmmx</tt> for the IDT Winchip C6 CPU. It's also recommended
-that when compiling for the for the Athlon XP you leave the default of
-<verb>-march=pentiumpro</verb> because gcc doesn't properly optimize for the
-Athlon XP.
-
<sect1>Building LAME
<p>Open a shell and switch to the directory where you saved lame.
<tscreen><verb>
@@ -1464,53 +1396,35 @@
<sect1>Manually building MythTV
<p>Unpack MythTV
<tscreen><verb>
-$ tar -xjf mythtv-0.17.tar.bz2
-$ cd mythtv-0.17
+$ tar -xjf mythtv-0.18.tar.bz2
+$ cd mythtv-0.18
+</verb></tscreen>
+
+<p>Configure the source.
+<tscreen><verb>
$ ./configure
</verb></tscreen>
-On a single cpu machine, you would type the following to compile MythTV:
+Configure will print out the options it has selected. You may wish to modify
+this by adding command line options to configure. A list of options can be
+seen by running.
<tscreen><verb>
-$ qmake mythtv.pro
-$ make
+$ ./configure --help
</verb></tscreen>
-If you want to build MythTV on a multi-CPU machine (or with
-<bf>distcc</bf>), specify "-j numjobs". In the following example, we will
-have two concurrent jobs executing. Do not set the number of jobs too high,
-or your compile will actually take longer to complete than it would if you
-did a "normal" build.
+For instance, should you wish to cross compile a debug build
+for an EPIA M10000 and enable DVB you could use this:
<tscreen><verb>
-$ qmake mythtv.pro
-$ make qmake
-$ make -j 2
+$ ./configure --compile-type=debug --tune=C2 --enable-dvb --dvb-path=/my/dvb/header/location
</verb></tscreen>
-If you are using <bf>distcc</bf>, and you had two other host machines (red, blue)
-participating, you would do something like:
+Compile
<tscreen><verb>
-$ export DISTCC_HOSTS='localhost red blue'
$ qmake mythtv.pro
$ make qmake
-$ make -j 6 CXX=distcc
+$ make -j 2
</verb></tscreen>
-The actual speed-up, if any, is dependant on a number of factors, such as
-number of CPUs / hosts, etc. The <bf>distcc</bf> documentation recommends
-using a <tt>-j</tt> value of twice the number of CPUs available to keep all
-of them busy.
-
-Some timing information. The following should only be used for
-illustration; your actual results may vary. The test involves a complete
-<tt>make distclean</tt> to the final binary.
-<itemize>
-<item>P4 3.2Ghz HT: "standard" make: 12m 49s
-<item>P4 3.2Ghz HT: make -j 2: 11m 24s
-</itemize>
-
-In the above example, we see that with a single CPU, a multi-stage
-<bf>make</bf> does not significantly decrease compile time.
-
Once the compile is done, switch to superuser:
<tscreen><verb>
$ su
@@ -2161,8 +2075,8 @@
If it is working, then press <bf>CTRL-C</bf> to abort the program. Once you
know that your remote is working, you can either recompile MythTV with
-native lirc support (edit the <tt>settings.pro</tt> file and remove the "#"
-from the lirc option, then make <tt>distclean</tt> and <tt>make</tt>) or you
+native lirc support (<tt>make distclean ; ./configure ; make<tt> then
+install with <tt>su</tt> followed by <tt>make install</tt>) or you
need to run the <bf>irxevent</bf> program, which takes the key presses and
sends them to MythTV. If you use native lirc support, you don't need to run
<bf>irxevent</bf>. If you are going to use irxevent, then you need to run
@@ -4824,23 +4738,27 @@
order to determine what's going on, you must recompile MythTV with debugging
support and run MythTV within <bf>gdb</bf>, the GNU debugger.
-Edit the settings.pro file. Make sure that the top of the file looks like this:
-<tscreen><verb>
-$ cat settings.pro
-CONFIG += debug
-#CONFIG += release
-</verb></tscreen>
-
-Now, you need to clear out the old versions of the software to ensure that
-you're running with the debugging code, then compile and install.
+You need to clear out the old versions of the software to ensure that
+you're running with the debugging code, then run ./configure with
+a compile type of debug, then compile and install.
<tscreen><verb>
$ make clean distclean
-$ ./configure
+$ ./configure --compile-type=debug
$ make
$ su
# make install
# exit
</verb></tscreen>
+NOTE: If you ran <tt>./configure</tt> with any options before, you should
+use them again, except remove any <tt>--compile-type</tt> flag and add the
+<tt>--compile-type=debug</tt> flag. You can see your previous configuration
+options with <tt>cat config.log | tail -n 1</tt>
+NOTE: If you are running Gentoo you must have debugging enabled
+on glibc, or debugging will not work properly, as root you can run:
+<tscreen><verb>
+# FEATURES=nostrip CFLAGS=-g emerge glibc
+</verb></tscreen>
+This bug has been fixed in Gentoo CVS, as of Feb 19th, 2005.
At this point, you now have debug-enabled software ready. Let's assume that
the problem you're having is in the <tt>setup</tt> program.
@@ -5154,12 +5072,9 @@
<figure loc="here">
<eps file="stop.eps" height="1cm">
<img src="stop.png">
-<caption><bf>NOTE</bf>: MythTV now has support for using
-<bf>artsd</bf>. This is a compile-time option, so you will need to edit the
-<tt>settings.pro</tt> file in the mythtv directory then perform a <tt>make
-distclean; make</tt>, and re-run <tt>make install</tt> as root to add this
-support. Otherwise, check your window manager documentation for
-instructions on disabling the sound manager.
+<caption><bf>NOTE</bf>: MythTV has support for using
+<bf>artsd</bf>. This is a compile-time option, which should
+be detected by the <tt>./configure</tt> script.
</caption>
</figure>
If you wish to see what application is grabbing a resource, you can use the
@@ -6976,29 +6891,25 @@
then you will need to ask your question on the LIRC list.
Assuming that <bf>irw</bf> is showing keypresses, you can continue:
-To enable native LIRC support within MythTV, you will need to modify your
-<tt>settings.pro</tt> file and recompile. Your <tt>settings.pro</tt> should
-look like this:
-<tscreen><verb>
-# Native lirc support
-CONFIG += using_lirc
-LIRC_LIBS = -llirc_client
-</verb></tscreen>
+It is best if MythTV is compiled with native lircd support. lircd
+should be detected by the <tt>./configure</tt> script, but if you installed
+lirc after installing MythTV, you must now run <tt>./configure</tt> again,
+then recompile and reinstall.
Recompile and install:
<tscreen><verb>
-$ make distclean; make
+$ make distclean
+$ ./configure
+$ make
$ su
# make install
</verb></tscreen>
-If you're not using native LIRC support, ensure that the button names that
-come up with <bf>irw</bf> match the ones in the <tt>.lircrc</tt> file in
-your home directory. Note that if you are not using native LIRC support,
-the <tt>.lircrc</tt> file is in your home directory and has a "." as the first
-character.
+Note: If you do not wish to use native LIRC support, ensure that the button names
+that come up with <bf>irw</bf> match the ones in the <tt>.lircrc</tt> file in
+your home directory. You will not need a <tt>.mythtv/lircrc</tt> file.
-Since we're using native LIRC support within MythTV, copy the
+If you are using using MythTV's native LIRC support, copy the
<tt>configfiles/hauppauge-lircrc-nativelirc</tt> file into your
<tt>.mythtv/</tt> directory and call it <tt>lircrc</tt>. It has a slightly
different format than what you would use if you were using
More information about the mythtv-dev
mailing list