History | View | Annotate | Download (2.3 kB)
build: sort objects to remove duplicates for link
Avoid duplicate object files during the link. There are legitimatecases where a link command-line would include duplicate object filesbecause two independent subsystems both depend on common infrastructure....
Improvements to libtool support.
Improvements to the libtool support in QEMU. Replace hard codedlibtool in the infrastructure with $(LIBTOOL) and allowoverriding the libtool binary used via the configurescript.
Reviewed-by: Andreas F=E4rber <andreas.faerber@web.de>...
build: Move QEMU_INCLUDES before QEMU_CFLAGS
This patch fixes build when any of the include paths from QEMU_CFLAGScontains a header file with similar name to a header file in qemusources. I hit it with error.h included by qapi/qapi-types-core.h. GCCdecided to use /usr/include/alsa/error.h instead of qemu's error.h....
libcacard: add libcacard.la target
No flag to configure is required. Instead, added a libcacard.la target thatis not built by default, only when requested explicitly via:
mkdir buildcd build../configuremake libcacard.lamake install-libcacard
Uses libtool to do actual linking of object files and shared library, and...
Add scripts directory
Move build and user scripts into scripts directory.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
do not pass bogus $(SRC_PATH) include paths to cc during configure
Non-existent -I paths are dropped silently by the compiler, but stillit is not polite to pass bogus options. Configure-time tests do notneed any include files from the source path, so only include -I flags...
rewrite i386 tests Makefile
1) compute path to i386 compiler from configure. If it is found, runthe i386 tests. I use macros so that this approach could be appliedfor other arches as well.
2) provide an easily extensible way to add tests
Most tests fail, but at least "make test" does something meaningful....
Put dependency files in proper subdir
This seems to resolve subtle breakages of our build system:
Dependency files generated for targets like 'dir/foo.o' were saved as'foo.d'. Now, if there was also a target 'foo.o', one of the dependencyfile was overwritten. Concrete example: libhw*/macio.o vs....
fix whitespace bogon in some versions of make
With three different make binaries I have available, configuring apristine QEMU tree and attempting to make gives the cryptic:
Makefile:27: *** missing separator. Stop.
This patch fixes it (presumably because it makes the output of...
finish VPATH -> vpath translation
This adds a few more vpath suffixes and points the remaining two pathsexplicitly to $(SRC_PATH) in order to eliminate the VPATH assignmentfrom config-host.mak.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Cc: Juan Quintela <quintela@redhat.com>...
Use vpath directive
The vpath directive has two advantages over the VPATH variable:1) it allows to skip searching of .o files; 2) the default semanticsare to append to the vpath, so there is no confusion between "VPATH=xyz" and "VPATH+=xyz".
Since "vpath %.c %.h PATH" is not valid, I'm introducing a wrapper...
Drop --whole-archive and static libraries
Juan has contributed a cool Makefile infrastructure that enables us to dropstatic libraries completely:
Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-},and link those object files directly into the executables....
qemu: delete rule target on error
Instruct make to remove any rule target on error. This prevetnssituation where there was an error during build but generated file stillstays behind.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Fix build for mingw32 on windows ($@ in macro)
Make using mingw32 on windows does not preserve $@ in macroswhen they are modified using this pattern:target: macro += something
This behaviour results in an error when QEMU_CFLAGS containing"-MMD -MP -MT $@" is modified for compilation of source files...
Do not execute shell scripts directly
Signed-off-by: malc <av1474@comtv.ru>
fix type in CFLAGS name
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
fix parallel build
Based on a ideas of Daniel Jacobowitz + Stefan Weil
Add *CFLAGS to LINK in rules.mak
Sometimes when linking with gcc to get a predictable result you are suggested to also apply the compiler flags to the linker command.
For reference, please read:http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Link-Options.html...
Move dependency generation falgs out of configure
Move generation of config-host.h to Makefile from configure
Use timestamp based appreach to avoid not needed recompilation.Add it to rules.mak
Many thanks to Paolo Bonzini for helpding the design, and the debug.
Patchworks-ID: 35190Signed-off-by: Juan Quintela <quintela@redhat.com>...
Don't use implicit rules for Makefile
This remove implicit rules + implicit variables.Explicit rules like the generation of %.h and %.c from %.hx still worksas expected.
As an added bonus, now the output of make -d is readable.
As another added bonus, time spend on Makefiles is way smaller....
restore CFLAGS check for conflict and fix recursive CFLAGS issue
cc-option uses more make-syntax to replace the shell "if/else".
Issue with recursive += is fixed by doing the first assignmentsimply-expanded, as explained inhttp://www.gnu.org/software/make/manual/html_node/Appending.html...
Remove CFLAGS parameter in cc-option
With cc-option we are testing if gcc just accept a particular option, we don't need CFLAGS at all. And this fixes the recursive problem with CFLAGS
Rename CPPFLAGS to QEMU_CFLAGS
Now we have to variables: QEMU_CFLAGS: flags without which we can't compileCFLAGS: "-g -O2"
We can now run:
make CFLAGS="-fbar" foo.omake CFLAGS="" foo.omake CFLAGS="-O3" foo.o
And it all should work.
Signed-off-by: Juan Quintela <quintela@redhat.com>...
move cc-option definition to rules.mak
Remove bogus -Werror
Revert rules.mak changes from aba800a. These should not have been hereto start with.
Signed-off-by: Paul Brook <paul@codesourcery.com>
qemu/virtio: MSI-X support in virtio PCI
This enables actual support for MSI-X in virtio PCI.First user will be virtio-net.
Fix build on Solaris and WIN32
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Constructor support
Allow devices/drivers to register themselves via constructors.Destructors are not needed (can be registered from a constructor)and "priority" has been renamed and changed to an enum for clarity.
Signed-off-by: Paul Brook <paul@codesourcery.com>...
build system: Further improve quiet mode (Jan Kiszka)
Derived from Stuart Brady's patch: Show the target directory as prefixto the current module when building in quiet mode. This helps to gainoverview of the current build progress, specifically when running...
Reformat quiet build
Indent and align the quiet build messages more like Linux - improvesreadability of this great feature even more.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6426 c046a42c-6fe2-441c-8c8c-71466251a162
Consolidate library creation (Avi Kivity)
Put archive utility (ar) invocations into a rule, and have it generatequiet output by default.
Signed-off-by: Avi Kivity <avi@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6381 c046a42c-6fe2-441c-8c8c-71466251a162
Make make output quieter (Avi Kivity)
Spew out less noise when compiling. This helps review make output forinformation such as compilation warnings, rather than extra long compilerinvocations.
The full output can be generated by supplying a 'V=1' parameter to make....
Consolidate linker rules (Avi Kivity)
Use generic rules where posssible, and a LINK macro where not.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6379 c046a42c-6fe2-441c-8c8c-71466251a162
Introduce rules.mak (Avi Kivity)
Add a file for common makefile rules.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6378 c046a42c-6fe2-441c-8c8c-71466251a162