aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>2004-06-29 18:10:39 +0000
committermjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>2004-06-29 18:10:39 +0000
commit48e9a9c636cfbf00a1468f3a3dffe932e3e01a19 (patch)
treed0dc3b91c0fa176b1afe4bb22c8a37a34850f6c3
parent4db27a4b7ac9a8b0a3f2aa25a7795ff8731281b3 (diff)
downloadxen-48e9a9c636cfbf00a1468f3a3dffe932e3e01a19.tar.gz
xen-48e9a9c636cfbf00a1468f3a3dffe932e3e01a19.tar.bz2
xen-48e9a9c636cfbf00a1468f3a3dffe932e3e01a19.zip
bitkeeper revision 1.1026.1.8 (40e1b09foCFBM0EuIgrSA1uLJrWuzA)
Restructuring the python code and libs - first stage.
-rw-r--r--.rootkeys248
-rw-r--r--BitKeeper/etc/ignore19
-rw-r--r--tools/Make.defs7
-rw-r--r--tools/Makefile18
-rw-r--r--tools/examples/Makefile27
-rw-r--r--tools/examples/vifctl (renamed from tools/xen/vifctl)2
-rwxr-xr-xtools/examples/xm_dom_create.py406
-rw-r--r--tools/libxc/Makefile (renamed from tools/xc/lib/Makefile)27
-rw-r--r--tools/libxc/rpm.spec (renamed from tools/xc/lib/rpm.spec)0
-rw-r--r--tools/libxc/xc.h (renamed from tools/xc/lib/xc.h)0
-rw-r--r--tools/libxc/xc_atropos.c (renamed from tools/xc/lib/xc_atropos.c)0
-rw-r--r--tools/libxc/xc_bvtsched.c (renamed from tools/xc/lib/xc_bvtsched.c)0
-rw-r--r--tools/libxc/xc_domain.c (renamed from tools/xc/lib/xc_domain.c)0
-rw-r--r--tools/libxc/xc_elf.h (renamed from tools/xc/lib/xc_elf.h)0
-rw-r--r--tools/libxc/xc_evtchn.c (renamed from tools/xc/lib/xc_evtchn.c)0
-rw-r--r--tools/libxc/xc_io.c (renamed from tools/xc/lib/xc_io.c)8
-rw-r--r--tools/libxc/xc_io.h (renamed from tools/xc/lib/xc_io.h)0
-rw-r--r--tools/libxc/xc_linux_build.c (renamed from tools/xc/lib/xc_linux_build.c)0
-rw-r--r--tools/libxc/xc_linux_restore.c (renamed from tools/xc/lib/xc_linux_restore.c)0
-rw-r--r--tools/libxc/xc_linux_save.c (renamed from tools/xc/lib/xc_linux_save.c)4
-rw-r--r--tools/libxc/xc_misc.c (renamed from tools/xc/lib/xc_misc.c)0
-rw-r--r--tools/libxc/xc_netbsd_build.c (renamed from tools/xc/lib/xc_netbsd_build.c)0
-rw-r--r--tools/libxc/xc_physdev.c (renamed from tools/xc/lib/xc_physdev.c)0
-rw-r--r--tools/libxc/xc_private.c (renamed from tools/xc/lib/xc_private.c)0
-rw-r--r--tools/libxc/xc_private.h (renamed from tools/xc/lib/xc_private.h)0
-rw-r--r--tools/libxc/xc_rrobin.c (renamed from tools/xc/lib/xc_rrobin.c)0
-rw-r--r--tools/libxutil/Makefile80
-rw-r--r--tools/libxutil/allocate.c (renamed from tools/lib/allocate.c)0
-rw-r--r--tools/libxutil/allocate.h (renamed from tools/lib/allocate.h)0
-rw-r--r--tools/libxutil/debug.h (renamed from tools/lib/debug.h)0
-rw-r--r--tools/libxutil/enum.c (renamed from tools/lib/enum.c)0
-rw-r--r--tools/libxutil/enum.h (renamed from tools/lib/enum.h)0
-rw-r--r--tools/libxutil/file_stream.c (renamed from tools/lib/file_stream.c)0
-rw-r--r--tools/libxutil/file_stream.h (renamed from tools/lib/file_stream.h)0
-rw-r--r--tools/libxutil/gzip_stream.c (renamed from tools/lib/gzip_stream.c)0
-rw-r--r--tools/libxutil/gzip_stream.h (renamed from tools/lib/gzip_stream.h)0
-rw-r--r--tools/libxutil/hash_table.c (renamed from tools/lib/hash_table.c)0
-rw-r--r--tools/libxutil/hash_table.h (renamed from tools/lib/hash_table.h)0
-rw-r--r--tools/libxutil/iostream.c (renamed from tools/lib/iostream.c)0
-rw-r--r--tools/libxutil/iostream.h (renamed from tools/lib/iostream.h)0
-rw-r--r--tools/libxutil/kernel_stream.c (renamed from tools/lib/kernel_stream.c)0
-rw-r--r--tools/libxutil/kernel_stream.h (renamed from tools/lib/kernel_stream.h)0
-rw-r--r--tools/libxutil/lexis.c (renamed from tools/lib/lexis.c)0
-rw-r--r--tools/libxutil/lexis.h (renamed from tools/lib/lexis.h)0
-rw-r--r--tools/libxutil/lzi_stream.c (renamed from tools/lib/lzi_stream.c)0
-rw-r--r--tools/libxutil/lzi_stream.h (renamed from tools/lib/lzi_stream.h)0
-rw-r--r--tools/libxutil/lzo_stream.c (renamed from tools/lib/lzo_stream.c)0
-rw-r--r--tools/libxutil/lzo_stream.h (renamed from tools/lib/lzo_stream.h)0
-rw-r--r--tools/libxutil/marshal.c (renamed from tools/lib/marshal.c)0
-rw-r--r--tools/libxutil/marshal.h (renamed from tools/lib/marshal.h)0
-rw-r--r--tools/libxutil/socket_stream.c (renamed from tools/lib/socket_stream.c)0
-rw-r--r--tools/libxutil/socket_stream.h (renamed from tools/lib/socket_stream.h)0
-rw-r--r--tools/libxutil/string_stream.c (renamed from tools/lib/string_stream.c)0
-rw-r--r--tools/libxutil/string_stream.h (renamed from tools/lib/string_stream.h)0
-rw-r--r--tools/libxutil/sxpr.c (renamed from tools/lib/sxpr.c)0
-rw-r--r--tools/libxutil/sxpr.h (renamed from tools/lib/sxpr.h)0
-rw-r--r--tools/libxutil/sxpr_parser.c (renamed from tools/lib/sxpr_parser.c)0
-rw-r--r--tools/libxutil/sxpr_parser.h (renamed from tools/lib/sxpr_parser.h)0
-rw-r--r--tools/libxutil/sys_ctype.h (renamed from tools/lib/sys_ctype.h)0
-rw-r--r--tools/libxutil/sys_net.c (renamed from tools/lib/sys_net.c)0
-rw-r--r--tools/libxutil/sys_net.h (renamed from tools/lib/sys_net.h)0
-rw-r--r--tools/libxutil/sys_string.c (renamed from tools/lib/sys_string.c)0
-rw-r--r--tools/libxutil/sys_string.h (renamed from tools/lib/sys_string.h)0
-rw-r--r--tools/libxutil/xdr.c (renamed from tools/lib/xdr.c)0
-rw-r--r--tools/libxutil/xdr.h (renamed from tools/lib/xdr.h)0
-rw-r--r--tools/misc/Makefile25
-rw-r--r--tools/misc/netfix5
-rw-r--r--tools/misc/xend (renamed from tools/xen/xend)4
-rwxr-xr-xtools/misc/xm (renamed from tools/xen/xm)2
-rw-r--r--tools/python/Makefile (renamed from tools/xc/py/Makefile)0
-rw-r--r--tools/python/setup.py48
-rw-r--r--tools/python/xen/__init__.py (renamed from tools/xen/lib/__init__.py)0
-rw-r--r--tools/python/xen/ext/__init__.py (renamed from tools/xen/lib/ext/__init__.py)0
-rw-r--r--tools/python/xen/ext/xc/Makefile (renamed from tools/xu/Makefile)2
-rw-r--r--tools/python/xen/ext/xc/setup.py (renamed from tools/xc/py/setup.py)0
-rw-r--r--tools/python/xen/ext/xc/xc.c (renamed from tools/xc/py/Xc.c)0
-rw-r--r--tools/python/xen/ext/xu/__init__.py (renamed from tools/xen/lib/xm/__init__.py)0
-rw-r--r--tools/python/xen/ext/xu/domain_controller.h (renamed from tools/xu/lib/domain_controller.h)0
-rw-r--r--tools/python/xen/ext/xu/xu.c (renamed from tools/xu/lib/xu.c)0
-rw-r--r--tools/python/xen/util/Brctl.py (renamed from tools/xen/lib/util/Brctl.py)0
-rw-r--r--tools/python/xen/util/__init__.py (renamed from tools/xen/lib/util/__init__.py)0
-rw-r--r--tools/python/xen/util/console_client.py (renamed from tools/xen/lib/util/console_client.py)0
-rw-r--r--tools/python/xen/util/ip.py (renamed from tools/xen/lib/util/ip.py)0
-rw-r--r--tools/python/xen/util/tempfile.py (renamed from tools/xen/lib/util/tempfile.py)0
-rw-r--r--tools/python/xen/xend/Args.py (renamed from tools/xen/lib/xend/Args.py)0
-rw-r--r--tools/python/xen/xend/EventServer.py (renamed from tools/xen/lib/xend/EventServer.py)0
-rw-r--r--tools/python/xen/xend/EventTypes.py (renamed from tools/xen/lib/xend/EventTypes.py)0
-rw-r--r--tools/python/xen/xend/PrettyPrint.py (renamed from tools/xen/lib/xend/PrettyPrint.py)0
-rw-r--r--tools/python/xen/xend/Vifctl.py (renamed from tools/xen/lib/xend/Vifctl.py)0
-rw-r--r--tools/python/xen/xend/XendClient.py (renamed from tools/xen/lib/xend/XendClient.py)0
-rw-r--r--tools/python/xen/xend/XendConsole.py (renamed from tools/xen/lib/xend/XendConsole.py)0
-rw-r--r--tools/python/xen/xend/XendDB.py (renamed from tools/xen/lib/xend/XendDB.py)0
-rw-r--r--tools/python/xen/xend/XendDomain.py (renamed from tools/xen/lib/xend/XendDomain.py)0
-rw-r--r--tools/python/xen/xend/XendDomainConfig.py (renamed from tools/xen/lib/xend/XendDomainConfig.py)0
-rw-r--r--tools/python/xen/xend/XendDomainInfo.py (renamed from tools/xen/lib/xend/XendDomainInfo.py)0
-rw-r--r--tools/python/xen/xend/XendMigrate.py (renamed from tools/xen/lib/xend/XendMigrate.py)0
-rw-r--r--tools/python/xen/xend/XendNode.py (renamed from tools/xen/lib/xend/XendNode.py)0
-rw-r--r--tools/python/xen/xend/XendRoot.py (renamed from tools/xen/lib/xend/XendRoot.py)0
-rw-r--r--tools/python/xen/xend/XendVnet.py (renamed from tools/xen/lib/xend/XendVnet.py)0
-rw-r--r--tools/python/xen/xend/__init__.py (renamed from tools/xen/lib/xend/__init__.py)0
-rw-r--r--tools/python/xen/xend/encode.py (renamed from tools/xen/lib/xend/encode.py)0
-rw-r--r--tools/python/xen/xend/server/SrvBase.py (renamed from tools/xen/lib/xend/server/SrvBase.py)0
-rw-r--r--tools/python/xen/xend/server/SrvConsole.py (renamed from tools/xen/lib/xend/server/SrvConsole.py)0
-rw-r--r--tools/python/xen/xend/server/SrvConsoleDir.py (renamed from tools/xen/lib/xend/server/SrvConsoleDir.py)0
-rw-r--r--tools/python/xen/xend/server/SrvDaemon.py (renamed from tools/xen/lib/xend/server/SrvDaemon.py)0
-rw-r--r--tools/python/xen/xend/server/SrvDeviceDir.py (renamed from tools/xen/lib/xend/server/SrvDeviceDir.py)0
-rw-r--r--tools/python/xen/xend/server/SrvDir.py (renamed from tools/xen/lib/xend/server/SrvDir.py)0
-rw-r--r--tools/python/xen/xend/server/SrvDomain.py (renamed from tools/xen/lib/xend/server/SrvDomain.py)0
-rw-r--r--tools/python/xen/xend/server/SrvDomainDir.py (renamed from tools/xen/lib/xend/server/SrvDomainDir.py)0
-rw-r--r--tools/python/xen/xend/server/SrvEventDir.py (renamed from tools/xen/lib/xend/server/SrvEventDir.py)0
-rw-r--r--tools/python/xen/xend/server/SrvNode.py (renamed from tools/xen/lib/xend/server/SrvNode.py)0
-rw-r--r--tools/python/xen/xend/server/SrvRoot.py (renamed from tools/xen/lib/xend/server/SrvRoot.py)0
-rw-r--r--tools/python/xen/xend/server/SrvServer.py (renamed from tools/xen/lib/xend/server/SrvServer.py)0
-rw-r--r--tools/python/xen/xend/server/SrvVnetDir.py (renamed from tools/xen/lib/xend/server/SrvVnetDir.py)0
-rw-r--r--tools/python/xen/xend/server/__init__.py (renamed from tools/xen/lib/xend/server/__init__.py)0
-rwxr-xr-xtools/python/xen/xend/server/blkif.py (renamed from tools/xen/lib/xend/server/blkif.py)0
-rwxr-xr-xtools/python/xen/xend/server/channel.py (renamed from tools/xen/lib/xend/server/channel.py)0
-rwxr-xr-xtools/python/xen/xend/server/console.py (renamed from tools/xen/lib/xend/server/console.py)0
-rwxr-xr-xtools/python/xen/xend/server/controller.py (renamed from tools/xen/lib/xend/server/controller.py)0
-rwxr-xr-xtools/python/xen/xend/server/cstruct.py (renamed from tools/xen/lib/xend/server/cstruct.py)0
-rw-r--r--tools/python/xen/xend/server/domain.py (renamed from tools/xen/lib/xend/server/domain.py)0
-rw-r--r--tools/python/xen/xend/server/messages.py (renamed from tools/xen/lib/xend/server/messages.py)0
-rwxr-xr-xtools/python/xen/xend/server/netif.py (renamed from tools/xen/lib/xend/server/netif.py)0
-rw-r--r--tools/python/xen/xend/server/params.py (renamed from tools/xen/lib/xend/server/params.py)0
-rw-r--r--tools/python/xen/xend/sxp.py (renamed from tools/xen/lib/xend/sxp.py)0
-rw-r--r--tools/python/xen/xm/__init__.py (renamed from tools/xu/lib/__init__.py)0
-rw-r--r--tools/python/xen/xm/create.py (renamed from tools/xen/lib/xm/create.py)0
-rw-r--r--tools/python/xen/xm/main.py (renamed from tools/xen/lib/xm/main.py)0
-rw-r--r--tools/python/xen/xm/opts.py (renamed from tools/xen/lib/xm/opts.py)0
-rw-r--r--tools/python/xen/xm/shutdown.py (renamed from tools/xen/lib/xm/shutdown.py)0
-rw-r--r--tools/xc/Makefile12
-rw-r--r--tools/xen/Makefile20
-rw-r--r--tools/xen/setup.py17
-rw-r--r--tools/xentrace/Makefile16
-rw-r--r--tools/xentrace/xentrace.c2
-rw-r--r--tools/xu/setup.py19
136 files changed, 367 insertions, 651 deletions
diff --git a/.rootkeys b/.rootkeys
index a901a1d4cd..4bff522d33 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -151,6 +151,7 @@
3e5a4e681xMPdF9xCMwpyfuYMySU5g linux-2.4.26-xen-sparse/mm/mremap.c
409ba2e7akOFqQUg6Qyg2s28xcXiMg linux-2.4.26-xen-sparse/mm/page_alloc.c
3e5a4e683HKVU-sxtagrDasRB8eBVw linux-2.4.26-xen-sparse/mm/swapfile.c
+40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Make.defs
3f776bd1Hy9rn69ntXBhPReUFw9IEA tools/Makefile
401d7e160vaxMBAUSLSicuZ7AQjJ3w tools/examples/Makefile
401d7e16UgeqroJQTIhwkrDVkoWgZQ tools/examples/README
@@ -159,49 +160,69 @@
405ff55dawQyCHFEnJ067ChPRoXBBA tools/examples/init.d/xend
40278d94cIUWl2eRgnwZtr4hTyWT1Q tools/examples/init.d/xendomains
40278d91ZjLhxdjjrGe8HEdwHLj5xQ tools/examples/netbsd
+40e15b7edWEtBf_oe3eBwGKuh1dyzQ tools/examples/vifctl
401d7e16NpnVrFSsR7lKKKfTwCYvWA tools/examples/xc_dom_control.py
401d7e16RJj-lbtsVEjua6HYAIiKiA tools/examples/xc_dom_create.py
-40c9c468pXANclL7slGaoD0kSrIwoQ tools/examples/xm_dom_create.py
40cf2937oKlROYOJTN8GWwWM5AmjBg tools/examples/xmdefaults
40dfd40auJwNnb8NoiSnRkvZaaXkUg tools/examples/xmnetbsd
-40e033325Sjqs-_4TuzeUEprP_gYFg tools/lib/allocate.c
-40e03332KYz7o1bn2MG_KPbBlyoIMA tools/lib/allocate.h
-40e03332IyRttYoXKoJla5qCC514SQ tools/lib/debug.h
-40e03332qV5tJ-GJZjo-LBCeGuEjJA tools/lib/enum.c
-40e03332wwMVxfobgA1PSMTSAGLiCw tools/lib/enum.h
-40e03332p5Dc_owJQRuN72ymJZddFQ tools/lib/file_stream.c
-40e03332jWfB2viAhLSkq1WK0r_iDQ tools/lib/file_stream.h
-40e03332rUjNMGg11n2rN6V4DCrvOg tools/lib/gzip_stream.c
-40e033321O5Qg22haLoq5lpmk4tooQ tools/lib/gzip_stream.h
-40e03332QrTR96tc6yS2rMBpd2mq1A tools/lib/hash_table.c
-40e033325KoIb0d_uy8s7b5DUR9fPQ tools/lib/hash_table.h
-40e03332ihnBGzHykVwZnFmkAppb4g tools/lib/iostream.c
-40e03332UGwbLR4wsw4ft14p0Yw5pg tools/lib/iostream.h
-40e0333245DLDzJemeSVBLuutHtzEQ tools/lib/kernel_stream.c
-40e03332aK0GkgpDdc-PVTkWKTeOBg tools/lib/kernel_stream.h
-40e03332HJ0cDcZDKDUUT-tEiBWOZw tools/lib/lexis.c
-40e03332tnH9Ggzxbfi3xY9Vh2hUlg tools/lib/lexis.h
-40e03332aYIW0BNBh6wXuKKn_P7Yyg tools/lib/lzi_stream.c
-40e0333233voTffE4cJSMGJARfiSSQ tools/lib/lzi_stream.h
-40e03332FXuMoUnfsAKSgV8X4rFbYQ tools/lib/lzo_stream.c
-40e03332InJaiLfpDcIXBy2fI0RFGQ tools/lib/lzo_stream.h
-40e03332a5SCuRsejHStTuWzMQNv8Q tools/lib/marshal.c
-40e03332TwKyJrZQiiQfNq4vc2hpgw tools/lib/marshal.h
-40e033328ccHlJuTR1FswYL_EC6LFA tools/lib/socket_stream.c
-40e03332P0KVQGkmahj47aafo1X0nA tools/lib/socket_stream.h
-40e03332KT_tnnoAMbPVAZBB7kSOAQ tools/lib/string_stream.c
-40e03332-VtK6_OZa1vMHXFil8uq6w tools/lib/string_stream.h
-40e03332dDtczi6YX7_mMxhYjJeAdQ tools/lib/sxpr.c
-40e03332QPuyNKDOTIYVvkwK5qO-vg tools/lib/sxpr.h
-40e03332Pi0_osJ3XPBi38ADPqdl4A tools/lib/sxpr_parser.c
-40e033324v5QFMvWEXXzv38uUT9kHg tools/lib/sxpr_parser.h
-40e03332gKUInsqtxQOV4mPiMqf_dg tools/lib/sys_ctype.h
-40e03332Rkvq6nn_UNjzAAK_Tk9v1g tools/lib/sys_net.c
-40e03332lQHvQHw4Rh7VsT1_sui29A tools/lib/sys_net.h
-40e033321smklZd7bDSdWvQCeIshtg tools/lib/sys_string.c
-40e03332h5V611rRWURRLqb1Ekatxg tools/lib/sys_string.h
-40e03332u4q5kgF0N7RfqB4s0pZVew tools/lib/xdr.c
-40e03332hY16nfRXF4gGd5S1aUJUBw tools/lib/xdr.h
+3fbba6dbDfYvJSsw9500b4SZyUhxjQ tools/libxc/Makefile
+3fbba6dc1uU7U3IFeF6A-XEOYF2MkQ tools/libxc/rpm.spec
+3fbba6dcrNxtygEcgJYAJJ1gCQqfsA tools/libxc/xc.h
+40589968oCfoUlXd460CjVAkBE8IBA tools/libxc/xc_atropos.c
+3fbba6dbEVkVMX0JuDFzap9jeaucGA tools/libxc/xc_bvtsched.c
+3fbba6dbasJQV-MVElDC0DGSHMiL5w tools/libxc/xc_domain.c
+40278d99BLsfUv3qxv0I8C1sClZ0ow tools/libxc/xc_elf.h
+403e0977Bjsm_e82pwvl9VvaJxh8Gg tools/libxc/xc_evtchn.c
+40e03333Eegw8czSWvHsbKxrRZJjRA tools/libxc/xc_io.c
+40e03333vrWGbLAhyJjXlqCHaJt7eA tools/libxc/xc_io.h
+3fbba6dbNCU7U6nsMYiXzKkp3ztaJg tools/libxc/xc_linux_build.c
+3fbba6dbl267zZOAVHYLOdLCdhcZMw tools/libxc/xc_linux_restore.c
+3fbba6db7li3FJiABYtCmuGxOJxEGw tools/libxc/xc_linux_save.c
+3fbba6db7WnnJr0KFrIFrqNlSKvFYg tools/libxc/xc_misc.c
+40278d9ctaHVDaEuwhXI3Om2JOjx9w tools/libxc/xc_netbsd_build.c
+4051bce6CHAsYh8P5t2OHDtRWOP9og tools/libxc/xc_physdev.c
+3fbba6dctWRWlFJkYb6hdix2X4WMuw tools/libxc/xc_private.c
+3fbba6dcbVrG2hPzEzwdeV_UC8kydQ tools/libxc/xc_private.h
+40589968UQFnJeOMn8UIFLbXBuwXjw tools/libxc/xc_rrobin.c
+40e1b09dMYB4ItGCqcMIzirdMd9I-w tools/libxutil/Makefile
+40e033325Sjqs-_4TuzeUEprP_gYFg tools/libxutil/allocate.c
+40e03332KYz7o1bn2MG_KPbBlyoIMA tools/libxutil/allocate.h
+40e03332IyRttYoXKoJla5qCC514SQ tools/libxutil/debug.h
+40e03332qV5tJ-GJZjo-LBCeGuEjJA tools/libxutil/enum.c
+40e03332wwMVxfobgA1PSMTSAGLiCw tools/libxutil/enum.h
+40e03332p5Dc_owJQRuN72ymJZddFQ tools/libxutil/file_stream.c
+40e03332jWfB2viAhLSkq1WK0r_iDQ tools/libxutil/file_stream.h
+40e03332rUjNMGg11n2rN6V4DCrvOg tools/libxutil/gzip_stream.c
+40e033321O5Qg22haLoq5lpmk4tooQ tools/libxutil/gzip_stream.h
+40e03332QrTR96tc6yS2rMBpd2mq1A tools/libxutil/hash_table.c
+40e033325KoIb0d_uy8s7b5DUR9fPQ tools/libxutil/hash_table.h
+40e03332ihnBGzHykVwZnFmkAppb4g tools/libxutil/iostream.c
+40e03332UGwbLR4wsw4ft14p0Yw5pg tools/libxutil/iostream.h
+40e0333245DLDzJemeSVBLuutHtzEQ tools/libxutil/kernel_stream.c
+40e03332aK0GkgpDdc-PVTkWKTeOBg tools/libxutil/kernel_stream.h
+40e03332HJ0cDcZDKDUUT-tEiBWOZw tools/libxutil/lexis.c
+40e03332tnH9Ggzxbfi3xY9Vh2hUlg tools/libxutil/lexis.h
+40e03332aYIW0BNBh6wXuKKn_P7Yyg tools/libxutil/lzi_stream.c
+40e0333233voTffE4cJSMGJARfiSSQ tools/libxutil/lzi_stream.h
+40e03332FXuMoUnfsAKSgV8X4rFbYQ tools/libxutil/lzo_stream.c
+40e03332InJaiLfpDcIXBy2fI0RFGQ tools/libxutil/lzo_stream.h
+40e03332a5SCuRsejHStTuWzMQNv8Q tools/libxutil/marshal.c
+40e03332TwKyJrZQiiQfNq4vc2hpgw tools/libxutil/marshal.h
+40e033328ccHlJuTR1FswYL_EC6LFA tools/libxutil/socket_stream.c
+40e03332P0KVQGkmahj47aafo1X0nA tools/libxutil/socket_stream.h
+40e03332KT_tnnoAMbPVAZBB7kSOAQ tools/libxutil/string_stream.c
+40e03332-VtK6_OZa1vMHXFil8uq6w tools/libxutil/string_stream.h
+40e03332dDtczi6YX7_mMxhYjJeAdQ tools/libxutil/sxpr.c
+40e03332QPuyNKDOTIYVvkwK5qO-vg tools/libxutil/sxpr.h
+40e03332Pi0_osJ3XPBi38ADPqdl4A tools/libxutil/sxpr_parser.c
+40e033324v5QFMvWEXXzv38uUT9kHg tools/libxutil/sxpr_parser.h
+40e03332gKUInsqtxQOV4mPiMqf_dg tools/libxutil/sys_ctype.h
+40e03332Rkvq6nn_UNjzAAK_Tk9v1g tools/libxutil/sys_net.c
+40e03332lQHvQHw4Rh7VsT1_sui29A tools/libxutil/sys_net.h
+40e033321smklZd7bDSdWvQCeIshtg tools/libxutil/sys_string.c
+40e03332h5V611rRWURRLqb1Ekatxg tools/libxutil/sys_string.h
+40e03332u4q5kgF0N7RfqB4s0pZVew tools/libxutil/xdr.c
+40e03332hY16nfRXF4gGd5S1aUJUBw tools/libxutil/xdr.h
3f776bd2Xd-dUcPKlPN2vG89VGtfvQ tools/misc/Makefile
40ab2cfawIw8tsYo0dQKtp83h4qfTQ tools/misc/fakei386xen
3f6dc136ZKOjd8PIqLbFBl_v-rnkGg tools/misc/miniterm/Makefile
@@ -213,99 +234,76 @@
3f5ef5a2dTZP0nnsFoeq2jRf3mWDDg tools/misc/xen-clone.README
3f870808zS6T6iFhqYPGelroZlVfGQ tools/misc/xen_cpuperf.c
405eedf6_nnNhFQ1I85lhCkLK6jFGA tools/misc/xencons
+40c9c4697z76HDfkCLdMhmaEwzFoNQ tools/misc/xend
4056f5155QYZdsk-1fLdjsZPFTnlhg tools/misc/xensymoops.py
-3fbca441SjQr8vJwTQIgH1laysaWog tools/xc/Makefile
-3fbba6dbDfYvJSsw9500b4SZyUhxjQ tools/xc/lib/Makefile
-3fbba6dc1uU7U3IFeF6A-XEOYF2MkQ tools/xc/lib/rpm.spec
-3fbba6dcrNxtygEcgJYAJJ1gCQqfsA tools/xc/lib/xc.h
-40589968oCfoUlXd460CjVAkBE8IBA tools/xc/lib/xc_atropos.c
-3fbba6dbEVkVMX0JuDFzap9jeaucGA tools/xc/lib/xc_bvtsched.c
-3fbba6dbasJQV-MVElDC0DGSHMiL5w tools/xc/lib/xc_domain.c
-40278d99BLsfUv3qxv0I8C1sClZ0ow tools/xc/lib/xc_elf.h
-403e0977Bjsm_e82pwvl9VvaJxh8Gg tools/xc/lib/xc_evtchn.c
-40e03333Eegw8czSWvHsbKxrRZJjRA tools/xc/lib/xc_io.c
-40e03333vrWGbLAhyJjXlqCHaJt7eA tools/xc/lib/xc_io.h
-3fbba6dbNCU7U6nsMYiXzKkp3ztaJg tools/xc/lib/xc_linux_build.c
-3fbba6dbl267zZOAVHYLOdLCdhcZMw tools/xc/lib/xc_linux_restore.c
-3fbba6db7li3FJiABYtCmuGxOJxEGw tools/xc/lib/xc_linux_save.c
-3fbba6db7WnnJr0KFrIFrqNlSKvFYg tools/xc/lib/xc_misc.c
-40278d9ctaHVDaEuwhXI3Om2JOjx9w tools/xc/lib/xc_netbsd_build.c
-4051bce6CHAsYh8P5t2OHDtRWOP9og tools/xc/lib/xc_physdev.c
-3fbba6dctWRWlFJkYb6hdix2X4WMuw tools/xc/lib/xc_private.c
-3fbba6dcbVrG2hPzEzwdeV_UC8kydQ tools/xc/lib/xc_private.h
-40589968UQFnJeOMn8UIFLbXBuwXjw tools/xc/lib/xc_rrobin.c
-3fbd0a3dTwnDcfdw0-v46dPbX98zDw tools/xc/py/Makefile
-3fbd0a42l40lM0IICw2jXbQBVZSdZg tools/xc/py/Xc.c
-3fbd0a40yT6G3M9hMpaz5xTUdl0E4g tools/xc/py/setup.py
-40c9c468icGyC5RAF1bRKsCXPDCvsA tools/xen/Makefile
-40dc4076hGpwa8-sWRN0jtXZeQJuKg tools/xen/lib/__init__.py
-40dfd40aMOhnw_cQLve9462UR5yYxQ tools/xen/lib/ext/__init__.py
-40d8915cyoVA0hJxiBFNymL7YvDaRg tools/xen/lib/util/Brctl.py
-40dfd40aGqGkiopOOgJxSF4iCbHM0Q tools/xen/lib/util/__init__.py
-4055ee4dwy4l0MghZosxoiu6zmhc9Q tools/xen/lib/util/console_client.py
-40c9c468IienauFHQ_xJIcqnPJ8giQ tools/xen/lib/util/ip.py
-4059c6a0pnxhG8hwSOivXybbGOwuXw tools/xen/lib/util/tempfile.py
-40c9c468SNuObE_YWARyS0hzTPSzKg tools/xen/lib/xend/Args.py
-40c9c468Um_qc66OQeLEceIz1pgD5g tools/xen/lib/xend/EventServer.py
-40c9c468U8EVl0d3G--8YXVg6VJD3g tools/xen/lib/xend/EventTypes.py
-40c9c468QJTEuk9g4qHxGpmIi70PEQ tools/xen/lib/xend/PrettyPrint.py
-40e15b7eeQxWE_hUPB2YTgM9fsZ1PQ tools/xen/lib/xend/Vifctl.py
-40c9c4688m3eqnC8fhLu1APm36VOVA tools/xen/lib/xend/XendClient.py
-40c9c468t6iIKTjwuYoe-UMCikDcOQ tools/xen/lib/xend/XendConsole.py
-40c9c468WnXs6eOUSff23IIGI4kMfQ tools/xen/lib/xend/XendDB.py
-40c9c468fSl3H3IypyT0ppkbb0ZT9A tools/xen/lib/xend/XendDomain.py
-40c9c468bbKq3uC7_fuNUkiMMjArdw tools/xen/lib/xend/XendDomainConfig.py
-40c9c4685ykq87_n1kVUbMr9flx9fg tools/xen/lib/xend/XendDomainInfo.py
-40c9c46854nsHmuxHQHncKk5rAs5NA tools/xen/lib/xend/XendMigrate.py
-40c9c468M96gA1EYDvNa5w5kQNYLFA tools/xen/lib/xend/XendNode.py
-40c9c4686jruMyZIqiaZRMiMoqMJtg tools/xen/lib/xend/XendRoot.py
-40c9c468xzANp6o2D_MeCYwNmOIUsQ tools/xen/lib/xend/XendVnet.py
-40c9c468x191zetrVlMnExfsQWHxIQ tools/xen/lib/xend/__init__.py
-40c9c468S2YnCEKmk4ey8XQIST7INg tools/xen/lib/xend/encode.py
-40c9c468DCpMe542varOolW1Xc68ew tools/xen/lib/xend/server/SrvBase.py
-40c9c468IxQabrKJSWs0aEjl-27mRQ tools/xen/lib/xend/server/SrvConsole.py
-40c9c4689Io5bxfbYIfRiUvsiLX0EQ tools/xen/lib/xend/server/SrvConsoleDir.py
-40c9c468woSmBByfeXA4o_jGf2gCgA tools/xen/lib/xend/server/SrvDaemon.py
-40c9c468kACsmkqjxBWKHRo071L26w tools/xen/lib/xend/server/SrvDeviceDir.py
-40c9c468EQZJVkCLds-OhesJVVyZbQ tools/xen/lib/xend/server/SrvDir.py
-40c9c468TyHZUq8sk0FF_vxM6Sozrg tools/xen/lib/xend/server/SrvDomain.py
-40c9c469WzajDjutou3X7FmL9hMf3g tools/xen/lib/xend/server/SrvDomainDir.py
-40c9c469-8mYEJJTAR6w_ClrJRAfwQ tools/xen/lib/xend/server/SrvEventDir.py
-40c9c4694eu5759Dehr4Uhakei0EMg tools/xen/lib/xend/server/SrvNode.py
-40c9c469TaZ83ypsrktmPSHLEZiP5w tools/xen/lib/xend/server/SrvRoot.py
-40c9c469W3sgDMbBJYQdz5wbQweL0Q tools/xen/lib/xend/server/SrvServer.py
-40c9c469aq7oXrE1Ngqf3_lBqL0RoQ tools/xen/lib/xend/server/SrvVnetDir.py
-40c9c469Y_aimoOFfUZoS-4eV8gEKg tools/xen/lib/xend/server/__init__.py
-40c9c4692hckPol_EK0EGB16ZyDsyQ tools/xen/lib/xend/server/blkif.py
-40c9c469N2-b3GqpLHHHPZykJPLVvA tools/xen/lib/xend/server/channel.py
-40c9c469hJ_IlatRne-9QEa0-wlquw tools/xen/lib/xend/server/console.py
-40c9c469UcNJh_NuLU0ytorM0Lk5Ow tools/xen/lib/xend/server/controller.py
-40c9c469vHh-qLiiubdbKEQbJf18Zw tools/xen/lib/xend/server/cstruct.py
-40d83983OXjt-y3HjSCcuoPp9rzvmw tools/xen/lib/xend/server/domain.py
-40c9c469yrm31i60pGKslTi2Zgpotg tools/xen/lib/xend/server/messages.py
-40c9c46925x-Rjb0Cv2f1-l2jZrPYg tools/xen/lib/xend/server/netif.py
-40c9c469ZqILEQ8x6yWy0_51jopiCg tools/xen/lib/xend/server/params.py
-40c9c469LNxLVizOUpOjEaTKKCm8Aw tools/xen/lib/xend/sxp.py
-40d05079aFRp6NQdo5wIh5Ly31c0cg tools/xen/lib/xm/__init__.py
-40cf2937gKQcATgXKGtNeWb1PDH5nA tools/xen/lib/xm/create.py
-40cf2937isyS250zyd0Q2GuEDoNXfQ tools/xen/lib/xm/main.py
-40cf2937PSslwBliN1g7ofDy2H_RhA tools/xen/lib/xm/opts.py
-40cf2937Z8WCNOnO2FcWdubvEAF9QQ tools/xen/lib/xm/shutdown.py
-40c9c469n2RRwCmjWdjdyyVRWKmgWg tools/xen/setup.py
-40e15b7edWEtBf_oe3eBwGKuh1dyzQ tools/xen/vifctl
-40c9c4697z76HDfkCLdMhmaEwzFoNQ tools/xen/xend
-40cf2937dqM1jWW87O5OoOYND8leuA tools/xen/xm
+40cf2937dqM1jWW87O5OoOYND8leuA tools/misc/xm
+40c9c468icGyC5RAF1bRKsCXPDCvsA tools/python/Makefile
+40c9c469n2RRwCmjWdjdyyVRWKmgWg tools/python/setup.py
+40dc4076hGpwa8-sWRN0jtXZeQJuKg tools/python/xen/__init__.py
+40dfd40aMOhnw_cQLve9462UR5yYxQ tools/python/xen/ext/__init__.py
+3fbd0a3dTwnDcfdw0-v46dPbX98zDw tools/python/xen/ext/xc/Makefile
+3fbd0a40yT6G3M9hMpaz5xTUdl0E4g tools/python/xen/ext/xc/setup.py
+3fbd0a42l40lM0IICw2jXbQBVZSdZg tools/python/xen/ext/xc/xc.c
+40dc4076St6AmPTmQPrtQ6LGHPxGmw tools/python/xen/ext/xu/__init__.py
+40dc4076pVeE1kEEWzcUaNZin65kCA tools/python/xen/ext/xu/domain_controller.h
+40dc4076CwBYRTUQDdbdU1L6KcLgSw tools/python/xen/ext/xu/xu.c
+40d8915cyoVA0hJxiBFNymL7YvDaRg tools/python/xen/util/Brctl.py
+40dfd40aGqGkiopOOgJxSF4iCbHM0Q tools/python/xen/util/__init__.py
+4055ee4dwy4l0MghZosxoiu6zmhc9Q tools/python/xen/util/console_client.py
+40c9c468IienauFHQ_xJIcqnPJ8giQ tools/python/xen/util/ip.py
+4059c6a0pnxhG8hwSOivXybbGOwuXw tools/python/xen/util/tempfile.py
+40c9c468SNuObE_YWARyS0hzTPSzKg tools/python/xen/xend/Args.py
+40c9c468Um_qc66OQeLEceIz1pgD5g tools/python/xen/xend/EventServer.py
+40c9c468U8EVl0d3G--8YXVg6VJD3g tools/python/xen/xend/EventTypes.py
+40c9c468QJTEuk9g4qHxGpmIi70PEQ tools/python/xen/xend/PrettyPrint.py
+40e15b7eeQxWE_hUPB2YTgM9fsZ1PQ tools/python/xen/xend/Vifctl.py
+40c9c4688m3eqnC8fhLu1APm36VOVA tools/python/xen/xend/XendClient.py
+40c9c468t6iIKTjwuYoe-UMCikDcOQ tools/python/xen/xend/XendConsole.py
+40c9c468WnXs6eOUSff23IIGI4kMfQ tools/python/xen/xend/XendDB.py
+40c9c468fSl3H3IypyT0ppkbb0ZT9A tools/python/xen/xend/XendDomain.py
+40c9c468bbKq3uC7_fuNUkiMMjArdw tools/python/xen/xend/XendDomainConfig.py
+40c9c4685ykq87_n1kVUbMr9flx9fg tools/python/xen/xend/XendDomainInfo.py
+40c9c46854nsHmuxHQHncKk5rAs5NA tools/python/xen/xend/XendMigrate.py
+40c9c468M96gA1EYDvNa5w5kQNYLFA tools/python/xen/xend/XendNode.py
+40c9c4686jruMyZIqiaZRMiMoqMJtg tools/python/xen/xend/XendRoot.py
+40c9c468xzANp6o2D_MeCYwNmOIUsQ tools/python/xen/xend/XendVnet.py
+40c9c468x191zetrVlMnExfsQWHxIQ tools/python/xen/xend/__init__.py
+40c9c468S2YnCEKmk4ey8XQIST7INg tools/python/xen/xend/encode.py
+40c9c468DCpMe542varOolW1Xc68ew tools/python/xen/xend/server/SrvBase.py
+40c9c468IxQabrKJSWs0aEjl-27mRQ tools/python/xen/xend/server/SrvConsole.py
+40c9c4689Io5bxfbYIfRiUvsiLX0EQ tools/python/xen/xend/server/SrvConsoleDir.py
+40c9c468woSmBByfeXA4o_jGf2gCgA tools/python/xen/xend/server/SrvDaemon.py
+40c9c468kACsmkqjxBWKHRo071L26w tools/python/xen/xend/server/SrvDeviceDir.py
+40c9c468EQZJVkCLds-OhesJVVyZbQ tools/python/xen/xend/server/SrvDir.py
+40c9c468TyHZUq8sk0FF_vxM6Sozrg tools/python/xen/xend/server/SrvDomain.py
+40c9c469WzajDjutou3X7FmL9hMf3g tools/python/xen/xend/server/SrvDomainDir.py
+40c9c469-8mYEJJTAR6w_ClrJRAfwQ tools/python/xen/xend/server/SrvEventDir.py
+40c9c4694eu5759Dehr4Uhakei0EMg tools/python/xen/xend/server/SrvNode.py
+40c9c469TaZ83ypsrktmPSHLEZiP5w tools/python/xen/xend/server/SrvRoot.py
+40c9c469W3sgDMbBJYQdz5wbQweL0Q tools/python/xen/xend/server/SrvServer.py
+40c9c469aq7oXrE1Ngqf3_lBqL0RoQ tools/python/xen/xend/server/SrvVnetDir.py
+40c9c469Y_aimoOFfUZoS-4eV8gEKg tools/python/xen/xend/server/__init__.py
+40c9c4692hckPol_EK0EGB16ZyDsyQ tools/python/xen/xend/server/blkif.py
+40c9c469N2-b3GqpLHHHPZykJPLVvA tools/python/xen/xend/server/channel.py
+40c9c469hJ_IlatRne-9QEa0-wlquw tools/python/xen/xend/server/console.py
+40c9c469UcNJh_NuLU0ytorM0Lk5Ow tools/python/xen/xend/server/controller.py
+40c9c469vHh-qLiiubdbKEQbJf18Zw tools/python/xen/xend/server/cstruct.py
+40d83983OXjt-y3HjSCcuoPp9rzvmw tools/python/xen/xend/server/domain.py
+40c9c469yrm31i60pGKslTi2Zgpotg tools/python/xen/xend/server/messages.py
+40c9c46925x-Rjb0Cv2f1-l2jZrPYg tools/python/xen/xend/server/netif.py
+40c9c469ZqILEQ8x6yWy0_51jopiCg tools/python/xen/xend/server/params.py
+40c9c469LNxLVizOUpOjEaTKKCm8Aw tools/python/xen/xend/sxp.py
+40d05079aFRp6NQdo5wIh5Ly31c0cg tools/python/xen/xm/__init__.py
+40cf2937gKQcATgXKGtNeWb1PDH5nA tools/python/xen/xm/create.py
+40cf2937isyS250zyd0Q2GuEDoNXfQ tools/python/xen/xm/main.py
+40cf2937PSslwBliN1g7ofDy2H_RhA tools/python/xen/xm/opts.py
+40cf2937Z8WCNOnO2FcWdubvEAF9QQ tools/python/xen/xm/shutdown.py
403a3edbrr8RE34gkbR40zep98SXbg tools/xentrace/Makefile
40a107afN60pFdURgBv9KwEzgRl5mQ tools/xentrace/formats
4050c413PhhLNAYk3TEwP37i_iLw9Q tools/xentrace/xentrace.8
403a3edbVpV2E_wq1zeEkJ_n4Uu2eg tools/xentrace/xentrace.c
403a3edblCUrzSj0mmKhO5HOPrOrSQ tools/xentrace/xentrace_format
4050c413NtuyIq5lsYJV4P7KIjujXw tools/xentrace/xentrace_format.1
-40dfd40a0QtsSGigB9TCpVGWZmhlNA tools/xu/Makefile
-40dc4076St6AmPTmQPrtQ6LGHPxGmw tools/xu/lib/__init__.py
-40dc4076pVeE1kEEWzcUaNZin65kCA tools/xu/lib/domain_controller.h
-40dc4076CwBYRTUQDdbdU1L6KcLgSw tools/xu/lib/xu.c
-40dc4076FyWUYS2nX9YufgglUzKX2A tools/xu/setup.py
3f72f1bdJPsV3JCnBqs9ddL9tr6D2g xen/COPYING
3ddb79bcbOVHh38VJzc97-JEGD4dJQ xen/Makefile
3ddb79bcWnTwYsQRWl_PaneJfa6p0w xen/Rules.mk
diff --git a/BitKeeper/etc/ignore b/BitKeeper/etc/ignore
index 6f52b7f4ec..a45244fe00 100644
--- a/BitKeeper/etc/ignore
+++ b/BitKeeper/etc/ignore
@@ -53,3 +53,22 @@ xen/xen
xen/xen-syms
xen/xen.*
tools/xc/lib/.xc_rrobin.o.d
+tools/libxc/.xc_atropos.o.d
+tools/libxc/.xc_bvtsched.o.d
+tools/libxc/.xc_domain.o.d
+tools/libxc/.xc_evtchn.o.d
+tools/libxc/.xc_io.o.d
+tools/libxc/.xc_linux_build.o.d
+tools/libxc/.xc_linux_restore.o.d
+tools/libxc/.xc_linux_save.o.d
+tools/libxc/.xc_misc.o.d
+tools/libxc/.xc_netbsd_build.o.d
+tools/libxc/.xc_physdev.o.d
+tools/libxc/.xc_private.o.d
+tools/libxc/.xc_rrobin.o.d
+tools/libxutil/.allocate.o.d
+tools/libxutil/.file_stream.o.d
+tools/libxutil/.gzip_stream.o.d
+tools/libxutil/.iostream.o.d
+tools/libxutil/.sys_net.o.d
+tools/libxutil/.sys_string.o.d
diff --git a/tools/Make.defs b/tools/Make.defs
new file mode 100644
index 0000000000..051baef2fc
--- /dev/null
+++ b/tools/Make.defs
@@ -0,0 +1,7 @@
+# -*- mode: Makefile; -*-
+XEN_HYPERVISOR_IFS = $(XEN_ROOT)/xen/include/hypervisor-ifs
+XEN_LINUX_INCLUDE = $(XEN_ROOT)/linux-xen-sparse/include
+XEN_XU = $(XEN_ROOT)/tools/python/xen/ext/xu
+XEN_XC = $(XEN_ROOT)/tools/python/xen/ext/xc
+XEN_LIBXC = $(XEN_ROOT)/tools/libxc
+XEN_LIBXUTIL = $(XEN_ROOT)/tools/libxutil
diff --git a/tools/Makefile b/tools/Makefile
index 908f49b682..b366034eb2 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,29 +1,29 @@
all:
- $(MAKE) -C xc
- $(MAKE) -C xu
+ $(MAKE) -C libxutil
+ $(MAKE) -C libxc
$(MAKE) -C misc
$(MAKE) -C examples
$(MAKE) -C xentrace
- $(MAKE) -C xen
+ $(MAKE) -C python
install: all
- $(MAKE) -C xc install
- $(MAKE) -C xu install
+ $(MAKE) -C libxutil install
+ $(MAKE) -C libxc install
$(MAKE) -C misc install
$(MAKE) -C examples install
$(MAKE) -C xentrace install
- $(MAKE) -C xen install
+ $(MAKE) -C python install
dist: $(TARGET)
$(MAKE) prefix=`pwd`/../../install dist=yes install
clean:
- $(MAKE) -C xc clean
- $(MAKE) -C xu clean
+ $(MAKE) -C libxutil clean
+ $(MAKE) -C libxc clean
$(MAKE) -C misc clean
$(MAKE) -C examples clean
$(MAKE) -C xentrace clean
- $(MAKE) -C xen clean
+ $(MAKE) -C python clean
diff --git a/tools/examples/Makefile b/tools/examples/Makefile
index 3f7075ed1d..794933d5d6 100644
--- a/tools/examples/Makefile
+++ b/tools/examples/Makefile
@@ -1,21 +1,40 @@
INSTALL = $(wildcard *.py)
+
ETC = defaults democd netbsd xmdefaults
ETCDIR = /etc/xen
+
INITD = init.d/xendomains init.d/xend
+XEND = vifctl
+XEND_DIR = $(ETCDIR)/xend
+
all:
-install: all
+install: all install-bin install-initd install-etc install-xend
+
+install-bin:
mkdir -p $(prefix)/usr/bin
+ install -m0755 $(INSTALL) $(prefix)/usr/bin
+
+install-initd:
+ mkdir -p $(prefix)/etc/init.d
+ install -m0755 $(INITD) $(prefix)/etc/init.d
+
+install-etc:
mkdir -p $(prefix)$(ETCDIR)
mkdir -p $(prefix)$(ETCDIR)/auto
- mkdir -p $(prefix)/etc/init.d
- install -m0755 $(INSTALL) $(prefix)/usr/bin
for i in $(ETC); \
do [ -a $(prefix)/$(ETCDIR)/$$i ] || \
install -m0644 $$i $(prefix)$(ETCDIR); \
done
- install -m0755 $(INITD) $(prefix)/etc/init.d
+
+install-xend:
+ mkdir -p $(prefix)$(XEND_DIR)
+ for i in $(XEND); \
+ do [ -a $(prefix)/$(XEND_DIR)/$$i ] || \
+ install -m0755 $$i $(prefix)$(XEND_DIR); \
+ done
+
clean:
diff --git a/tools/xen/vifctl b/tools/examples/vifctl
index efd0b0b063..d71459ed70 100644
--- a/tools/xen/vifctl
+++ b/tools/examples/vifctl
@@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- mode: python; -*-
#============================================================================
-# Xen vif control script.
+# Xen vif control script. Lives in /etc/xen/xend.
#
# vifctl init [bridge=<bridge>] [interface=<interface>]
#
diff --git a/tools/examples/xm_dom_create.py b/tools/examples/xm_dom_create.py
deleted file mode 100755
index d84efb1c92..0000000000
--- a/tools/examples/xm_dom_create.py
+++ /dev/null
@@ -1,406 +0,0 @@
-#!/usr/bin/env python
-
-import string
-import sys
-import os
-import os.path
-import time
-import socket
-import getopt
-import signal
-import syslog
-import xenctl.ip
-import xenctl.utils
-import xenctl.console_client
-
-from xenmgr import sxp
-from xenmgr import PrettyPrint
-from xenmgr.XendClient import server
-
-config_dir = '/etc/xc/'
-config_file = xc_config_file = config_dir + 'defaults'
-
-def main_usage ():
- print >>sys.stderr,"""
-Usage: %s <args>
-
-This tool is used to create and start new domains. It reads defaults
-from a file written in Python, having allowed variables to be set and
-passed into the file. Further command line arguments allow the
-defaults to be overridden. The defaults for each parameter are listed
-in [] brackets. Arguments are as follows:
-
-Arguments to control the parsing of the defaults file:
- -f config_file -- Use the specified defaults script.
- Default: ['%s']
- -L state_file -- Load virtual machine memory state from state_file
- -D foo=bar -- Set variable foo=bar before parsing config
- E.g. '-D vmid=3;ip=1.2.3.4'
- -h -- Print extended help message, including all arguments
- -n -- Dry run only, don't actually create domain
- Prints the config, suitable for -F.
- -q -- Quiet - write output only to the system log
- -F domain_config -- Build domain using the config in the file.
- Suitable files can be made using '-n' to output a config.
-""" % (sys.argv[0], xc_config_file)
-
-def extra_usage ():
- print >>sys.stderr,"""
-Arguments to override current config read from '%s':
- -c -- Turn into console terminal after domain is created
- -k image -- Path to kernel image ['%s']
- -r ramdisk -- Path to ramdisk (or empty) ['%s']
- -b builder_fn -- Function to use to build domain ['%s']
- -m mem_size -- Initial memory allocation in MB [%dMB]
- -N domain_name -- Set textual name of domain ['%s']
- -a auto_restart -- Restart domain on exit, yes/no ['%d']
- -e vbd_expert -- Safety catch to avoid some disk accidents ['%s']
- -d udisk,dev,rw -- Add disk, partition, or virtual disk to domain. E.g. to
- make partion sda4 available to the domain as hda1 with
- read-write access: '-d phy:sda4,hda1,rw' To add
- multiple disks use multiple -d flags or seperate with ';'
- Default: ['%s']
- -i vfr_ipaddr -- Add IP address to the list which Xen will route to
- the domain. Use multiple times to add more IP addrs.
- Default: ['%s']
-
-Args to override the kernel command line, which is concatenated from these:
- -I cmdline_ip -- Override 'ip=ipaddr:nfsserv:gateway:netmask::eth0:off'
- Default: ['%s']
- -R cmdline_root -- Override root device parameters.
- Default: ['%s']
- -E cmdline_extra -- Override extra kernel args and rc script env vars.
- Default: ['%s']
-
-""" % (config_file,
- image, ramdisk, builder_fn, mem_size, domain_name, auto_restart,
- vbd_expert,
- printvbds( vbd_list ),
- reduce ( (lambda a,b: a+':'+b), vfr_ipaddr,'' )[1:],
- cmdline_ip, cmdline_root, cmdline_extra)
-
-def config_usage (): pass
-
-def answer ( s ):
- s = string.lower(s)
- if s == 'yes' or s == 'true' or s == '1': return 1
- return 0
-
-def printvbds ( v ):
- s=''
- for (a,b,c) in v:
- s = s + '; %s,%s,%s' % (a,b,c)
- return s[2:]
-
-def output(string):
- global quiet
- syslog.syslog(string)
- if not quiet:
- print string
- return
-
-bail=False; dryrun=False; extrahelp=False; quiet = False
-image=''; ramdisk=''; builder_fn='linux'; restore=0; state_file=''
-mem_size=0; domain_name=''; vfr_ipaddr=[];
-vbd_expert='rr'; auto_restart=False;
-vbd_list = []; cmdline_ip = ''; cmdline_root=''; cmdline_extra=''
-pci_device_list = []; console_port = -1
-auto_console = False
-config_from_file = False
-
-##### Determine location of defaults file
-#####
-
-try:
- opts, args = getopt.getopt(sys.argv[1:], "h?nqcf:F:D:k:r:b:m:N:a:e:d:i:I:R:E:L:" )
-
- for opt in opts:
- if opt[0] == '-f': config_file= opt[1]
- if opt[0] == '-h' or opt[0] == '-?' : bail=True; extrahelp=True
- if opt[0] == '-n': dryrun=True
- if opt[0] == '-D':
- for o in string.split( opt[1], ';' ):
- (l,r) = string.split( o, '=' )
- exec "%s='%s'" % (l,r)
- if opt[0] == '-q': quiet = True
- if opt[0] == '-L': restore = True; state_file = opt[1]
- if opt[0] == '-F': config_from_file = True; domain_config = opt[1]
-
-
-except getopt.GetoptError:
- bail=True
-
-if not config_from_file:
- try:
- os.stat( config_file )
- except:
- try:
- d = config_dir + config_file
- os.stat( d )
- config_file = d
- except:
- print >> sys.stderr, "Unable to open config file '%s'" % config_file
- bail = True
-
-
-##### Parse the config file
-#####
-
-if not config_from_file:
- if not quiet:
- print "Parsing config file '%s'" % config_file
-
- try:
- execfile ( config_file )
- except (AssertionError,IOError):
- print >>sys.stderr,"Exiting %s" % sys.argv[0]
- bail = True
-
-##### Print out config if necessary
-#####
-
-def bailout():
- global extrahelp
- main_usage()
- config_usage()
- if extrahelp: extra_usage()
- sys.exit(1)
-
-if bail:
- bailout()
-
-##### Parse any command line overrides
-#####
-
-x_vbd_list = []
-x_vfr_ipaddr = []
-
-for opt in opts:
- if opt[0] == '-k': image = opt[1]
- if opt[0] == '-r': ramdisk = opt[1]
- if opt[0] == '-b': builder_fn = opt[1]
- if opt[0] == '-m': mem_size = int(opt[1])
- if opt[0] == '-C': cpu = int(opt[1])
- if opt[0] == '-N': domain_name = opt[1]
- if opt[0] == '-a': auto_restart = answer(opt[1])
- if opt[0] == '-e': vbd_expert = opt[1]
- if opt[0] == '-I': cmdline_ip = opt[1]
- if opt[0] == '-R': cmdline_root = opt[1]
- if opt[0] == '-E': cmdline_extra = opt[1]
- if opt[0] == '-i': x_vfr_ipaddr.append(opt[1])
- if opt[0] == '-c': auto_console = True
- if opt[0] == '-d':
- try:
- vv = string.split(opt[1],';')
- for v in vv:
- (udisk,dev,mode) = string.split(v,',')
- x_vbd_list.append( (udisk,dev,mode) )
- except:
- print >>sys.stderr, "Invalid block device specification : %s" % opt[1]
- sys.exit(1)
-
-if x_vbd_list: vbd_list = x_vbd_list
-if x_vfr_ipaddr: vfr_ipaddr = x_vfr_ipaddr
-
-syslog.openlog('xc_dom_create.py %s' % config_file, 0, syslog.LOG_DAEMON)
-
-def strip(pre, s):
- if s.startswith(pre):
- return s[len(pre):]
- else:
- return s
-
-def make_domain_config():
- global builder_fn, image, ramdisk, mem_size, domain_name
- global cpu
- global cmdline, cmdline_ip, cmdline_root
- global vfr_ipaddr, vbd_list, vbd_expert
-
- config = ['config',
- ['name', domain_name ],
- ['memory', mem_size ],
- ]
- if cpu:
- config.append(['cpu', cpu])
-
- config_image = [ builder_fn ]
- config_image.append([ 'kernel', os.path.abspath(image) ])
- if ramdisk:
- config_image.append([ 'ramdisk', os.path.abspath(ramdisk) ])
- if cmdline_ip:
- cmdline_ip = strip("ip=", cmdline_ip)
- config_image.append(['ip', cmdline_ip])
- if cmdline_root:
- cmdline_root = strip("root=", cmdline_root)
- config_image.append(['root', cmdline_root])
- if cmdline_extra:
- config_image.append(['args', cmdline_extra])
- config.append(['image', config_image ])
-
- config_devs = []
- for (uname, dev, mode) in vbd_list:
- config_vbd = ['vbd',
- ['uname', uname],
- ['dev', dev ],
- ['mode', mode ] ]
- if vbd_expert != 'rr':
- config_vbd.append(['sharing', vbd_expert])
- config_devs.append(['device', config_vbd])
-
- for (bus, dev, func) in pci_device_list:
- config_pci = ['pci',
- ['bus', bus ],
- ['dev', dev ],
- ['func', func] ]
- config_devs.append(['device', config_pci])
-
- # Add one vif with unspecified MAC.
- config_devs.append(['device', ['vif']])
-
- config += config_devs
-
- config_vfr = ['vfr']
- idx = 0 # No way of saying which IP is for which vif?
- for ip in vfr_ipaddr:
- config_vfr.append(['vif', ['id', idx], ['ip', ip]])
-
- config.append(config_vfr)
- return config
-
-def parse_config_file(domain_file):
- config = None
- fin = None
- try:
- fin = file(domain_file, "rb")
- config = sxp.parse(fin)
- if len(config) >= 1:
- config = config[0]
- else:
- raise StandardError("Invalid configuration")
- except StandardError, ex:
- print >> sys.stderr, "Error :", ex
- sys.exit(1)
- #finally:
- if fin: fin.close()
- return config
-
-# This function creates, builds and starts a domain, using the values
-# in the global variables, set above. It is used in the subsequent
-# code for starting the new domain and rebooting it if appropriate.
-def make_domain(config):
- """Create, build and start a domain.
- Returns: [int] the ID of the new domain.
- """
- global restore
-
- if restore:
- dominfo = server.xend_domain_restore(state_file, config)
- else:
- dominfo = server.xend_domain_create(config)
-
- dom = int(sxp.child_value(dominfo, 'id'))
- console_info = sxp.child(dominfo, 'console')
- if console_info:
- console_port = int(sxp.child_value(console_info, 'port'))
- else:
- console_port = None
-
- if server.xend_domain_unpause(dom) < 0:
- print "Error starting domain"
- server.xend_domain_halt(dom)
- sys.exit()
-
- return (dom, console_port)
-
-PID_DIR = '/var/run/xendomains/'
-
-def pidfile(dom):
- return PID_DIR + '%d.pid' % dom
-
-def mkpidfile():
- global current_id
- if not os.path.isdir(PID_DIR):
- os.mkdir(PID_DIR)
-
- fd = open(pidfile(current_id), 'w')
- print >> fd, str(os.getpid())
- fd.close()
- return
-
-def rmpidfile():
- global current_id
- os.unlink(pidfile(current_id))
-
-def death_handler(dummy1,dummy2):
- global current_id
- os.unlink(pidfile(current_id))
- output('Auto-restart daemon: daemon PID = %d for domain %d is now exiting'
- % (os.getpid(), current_id))
- sys.exit(0)
- return
-
-#============================================================================
-# The starting / monitoring of the domain actually happens here...
-
-if config_from_file:
- config = parse_config_file(domain_config)
-else:
- config = make_domain_config()
-
-if dryrun:
- print "# %s" % ' '.join(sys.argv)
- PrettyPrint.prettyprint(config)
- sys.exit(0)
-elif quiet:
- pass
-else:
- PrettyPrint.prettyprint(config)
-
-# start the domain and record its ID number
-(current_id, current_port) = make_domain(config)
-
-def start_msg(prefix, dom, port):
- output(prefix + "VM started in domain %d" % dom)
- if port:
- output(prefix + "Console I/O available on TCP port %d." % port)
-
-start_msg('', current_id, current_port)
-
-if current_port and auto_console:
- xenctl.console_client.connect('127.0.0.1', current_port)
-
-# if the auto_restart flag is set then keep polling to see if the domain is
-# alive - restart if it is not by calling make_domain() again (it's necessary
-# to update the id variable, since the new domain may have a new ID)
-
-#todo: Replace this - get xend to watch them.
-if auto_restart:
- ARD = "Auto-restart daemon: "
- # turn ourselves into a background daemon
- try:
- pid = os.fork()
- if pid > 0:
- sys.exit(0)
- os.setsid()
- pid = os.fork()
- if pid > 0:
- output(ARD + 'PID = %d' % pid)
- sys.exit(0)
- signal.signal(signal.SIGTERM,death_handler)
- except OSError:
- print >> sys.stderr, ARD+'Startup failed'
- sys.exit(1)
-
- mkpidfile()
-
- while True:
- time.sleep(1)
- # todo: use new interface
- info = xc.domain_getinfo(current_id, 1)
- if info == [] or info[0]['dom'] != current_id:
- output(ARD + "Domain %d terminated, restarting VM in new domain"
- % current_id)
- rmpidfile()
- (current_id, current_port) = make_domain()
- mkpidfile()
- start_msg(ARD, current_id, current_port)
diff --git a/tools/xc/lib/Makefile b/tools/libxc/Makefile
index e1fa8dd504..8db55c2028 100644
--- a/tools/xc/lib/Makefile
+++ b/tools/libxc/Makefile
@@ -5,19 +5,20 @@ SONAME = libxc.so.$(MAJOR)
CC = gcc
-XEN_ROOT = ../../..
+XEN_ROOT = ../..
+include $(XEN_ROOT)/tools/Make.defs
-vpath %.h $(XEN_ROOT)/xen/include/hypervisor-ifs
-INCLUDES += -I $(XEN_ROOT)/xen/include/hypervisor-ifs
+vpath %.h $(XEN_HYPERVISOR_IFS)
+INCLUDES += -I $(XEN_HYPERVISOR_IFS)
-vpath %.h $(XEN_ROOT)/tools/xu/lib
-INCLUDES += -I $(XEN_ROOT)/tools/xu/lib
+vpath %h $(XEN_LINUX_INCLUDE)
+INCLUDES += -I $(XEN_LINUX_INCLUDE)
-vpath %h $(XEN_ROOT)/linux-xen-sparse/include
-INCLUDES += -I $(XEN_ROOT)/linux-xen-sparse/include
+vpath %.h $(XEN_XU)
+INCLUDES += -I $(XEN_XU)
-vpath %c $(XEN_ROOT)/tools/lib
-INCLUDES += -I $(XEN_ROOT)/tools/lib
+vpath %c $(XEN_LIBXUTIL)
+INCLUDES += -I $(XEN_LIBXUTIL)
LIB_SRCS :=
LIB_SRCS += allocate.c
@@ -54,11 +55,7 @@ SRCS += xc_physdev.c
SRCS += xc_private.c
SRCS += xc_rrobin.c
-SRCS += $(LIB_SRCS)
-
-#CFLAGS += -I../../../xen/include/hypervisor-ifs
-#CFLAGS += -I../../xu/lib
-#CFLAGS += -I../../../linux-xen-sparse/include
+#SRCS += $(LIB_SRCS)
CFLAGS += -Wall
CFLAGS += -Werror
@@ -109,7 +106,7 @@ libxc.so:
libxc.so.$(MAJOR):
ln -sf libxc.so.$(MAJOR).$(MINOR) $@
libxc.so.$(MAJOR).$(MINOR): $(OBJS)
- $(CC) -Wl,-soname -Wl,$(SONAME) -shared -o $@ $^ -lz
+ $(CC) -Wl,-soname -Wl,$(SONAME) -shared -o $@ $^ ../libxutil/libxutil.a -lz
%.o: %.c Makefile
diff --git a/tools/xc/lib/rpm.spec b/tools/libxc/rpm.spec
index 1b4c5fc85a..1b4c5fc85a 100644
--- a/tools/xc/lib/rpm.spec
+++ b/tools/libxc/rpm.spec
diff --git a/tools/xc/lib/xc.h b/tools/libxc/xc.h
index f9692607bd..f9692607bd 100644
--- a/tools/xc/lib/xc.h
+++ b/tools/libxc/xc.h
diff --git a/tools/xc/lib/xc_atropos.c b/tools/libxc/xc_atropos.c
index 13d07ca440..13d07ca440 100644
--- a/tools/xc/lib/xc_atropos.c
+++ b/tools/libxc/xc_atropos.c
diff --git a/tools/xc/lib/xc_bvtsched.c b/tools/libxc/xc_bvtsched.c
index aeaddcfb04..aeaddcfb04 100644
--- a/tools/xc/lib/xc_bvtsched.c
+++ b/tools/libxc/xc_bvtsched.c
diff --git a/tools/xc/lib/xc_domain.c b/tools/libxc/xc_domain.c
index ab83d0ce7b..ab83d0ce7b 100644
--- a/tools/xc/lib/xc_domain.c
+++ b/tools/libxc/xc_domain.c
diff --git a/tools/xc/lib/xc_elf.h b/tools/libxc/xc_elf.h
index e0d0c26131..e0d0c26131 100644
--- a/tools/xc/lib/xc_elf.h
+++ b/tools/libxc/xc_elf.h
diff --git a/tools/xc/lib/xc_evtchn.c b/tools/libxc/xc_evtchn.c
index 624f5b1c15..624f5b1c15 100644
--- a/tools/xc/lib/xc_evtchn.c
+++ b/tools/libxc/xc_evtchn.c
diff --git a/tools/xc/lib/xc_io.c b/tools/libxc/xc_io.c
index 7d75ea245d..b7ce6342ab 100644
--- a/tools/xc/lib/xc_io.c
+++ b/tools/libxc/xc_io.c
@@ -4,15 +4,18 @@ void xcio_error(XcIOContext *ctxt, const char *msg, ...){
va_list args;
va_start(args, msg);
+ vfprintf(stdout, msg, args); fprintf(stdout, "\n");
IOStream_vprint(ctxt->info, msg, args);
+ IOStream_print(ctxt->info, "\n");
va_end(args);
}
void xcio_info(XcIOContext *ctxt, const char *msg, ...){
va_list args;
- if(!(ctxt->flags & XCFLAGS_VERBOSE)) return;
+ if(0 && !(ctxt->flags & XCFLAGS_VERBOSE)) return;
va_start(args, msg);
+ vfprintf(stdout, msg, args); fprintf(stdout, "\n");
IOStream_vprint(ctxt->info, msg, args);
va_end(args);
}
@@ -20,8 +23,9 @@ void xcio_info(XcIOContext *ctxt, const char *msg, ...){
void xcio_debug(XcIOContext *ctxt, const char *msg, ...){
va_list args;
- if(!(ctxt->flags & XCFLAGS_DEBUG)) return;
+ if(0 && !(ctxt->flags & XCFLAGS_DEBUG)) return;
va_start(args, msg);
+ vfprintf(stdout, msg, args); fprintf(stdout, "\n");
IOStream_vprint(ctxt->info, msg, args);
va_end(args);
}
diff --git a/tools/xc/lib/xc_io.h b/tools/libxc/xc_io.h
index 37febb52f1..37febb52f1 100644
--- a/tools/xc/lib/xc_io.h
+++ b/tools/libxc/xc_io.h
diff --git a/tools/xc/lib/xc_linux_build.c b/tools/libxc/xc_linux_build.c
index ceace01b00..ceace01b00 100644
--- a/tools/xc/lib/xc_linux_build.c
+++ b/tools/libxc/xc_linux_build.c
diff --git a/tools/xc/lib/xc_linux_restore.c b/tools/libxc/xc_linux_restore.c
index badba75162..badba75162 100644
--- a/tools/xc/lib/xc_linux_restore.c
+++ b/tools/libxc/xc_linux_restore.c
diff --git a/tools/xc/lib/xc_linux_save.c b/tools/libxc/xc_linux_save.c
index 44ffb6bb5f..c74e209bdc 100644
--- a/tools/xc/lib/xc_linux_save.c
+++ b/tools/libxc/xc_linux_save.c
@@ -310,7 +310,7 @@ int xc_linux_save(int xc_handle, XcIOContext *ioctxt)
if ( xc_domain_getfullinfo( xc_handle, domid, &op, &ctxt) )
{
- PERROR("Could not get full domain info");
+ xcio_error(ioctxt, "Could not get full domain info");
goto out;
}
memcpy(name, op.u.getdomaininfo.name, sizeof(name));
@@ -336,7 +336,7 @@ int xc_linux_save(int xc_handle, XcIOContext *ioctxt)
/* cheesy sanity check */
if ( nr_pfns > 1024*1024 ){
- xcio_error(ioctxt, "Invalid state record -- pfn count out of range");
+ xcio_error(ioctxt, "Invalid state record -- pfn count out of range: %lu", nr_pfns);
goto out;
}
diff --git a/tools/xc/lib/xc_misc.c b/tools/libxc/xc_misc.c
index 0019ffe96b..0019ffe96b 100644
--- a/tools/xc/lib/xc_misc.c
+++ b/tools/libxc/xc_misc.c
diff --git a/tools/xc/lib/xc_netbsd_build.c b/tools/libxc/xc_netbsd_build.c
index 04a47b5068..04a47b5068 100644
--- a/tools/xc/lib/xc_netbsd_build.c
+++ b/tools/libxc/xc_netbsd_build.c
diff --git a/tools/xc/lib/xc_physdev.c b/tools/libxc/xc_physdev.c
index ba5dd9ccdc..ba5dd9ccdc 100644
--- a/tools/xc/lib/xc_physdev.c
+++ b/tools/libxc/xc_physdev.c
diff --git a/tools/xc/lib/xc_private.c b/tools/libxc/xc_private.c
index 344f48254d..344f48254d 100644
--- a/tools/xc/lib/xc_private.c
+++ b/tools/libxc/xc_private.c
diff --git a/tools/xc/lib/xc_private.h b/tools/libxc/xc_private.h
index 742185161b..742185161b 100644
--- a/tools/xc/lib/xc_private.h
+++ b/tools/libxc/xc_private.h
diff --git a/tools/xc/lib/xc_rrobin.c b/tools/libxc/xc_rrobin.c
index ad37962f3b..ad37962f3b 100644
--- a/tools/xc/lib/xc_rrobin.c
+++ b/tools/libxc/xc_rrobin.c
diff --git a/tools/libxutil/Makefile b/tools/libxutil/Makefile
new file mode 100644
index 0000000000..0e92fa771f
--- /dev/null
+++ b/tools/libxutil/Makefile
@@ -0,0 +1,80 @@
+XEN_ROOT = ../..
+include $(XEN_ROOT)/tools/Make.defs
+
+CC = gcc
+
+LIB_SRCS :=
+LIB_SRCS += allocate.c
+#LIB_SRCS += enum.c
+LIB_SRCS += file_stream.c
+LIB_SRCS += gzip_stream.c
+#LIB_SRCS += hash_table.c
+LIB_SRCS += iostream.c
+#LIB_SRCS += kernel_stream.c
+#LIB_SRCS += lexis.c
+#LIB_SRCS += lzi_stream.c
+#LIB_SRCS += lzo_stream.c
+#LIB_SRCS += marshal.c
+#LIB_SRCS += socket_stream.c
+#LIB_SRCS += string_stream.c
+#LIB_SRCS += sxpr.c
+#LIB_SRCS += sxpr_parser.c
+LIB_SRCS += sys_net.c
+LIB_SRCS += sys_string.c
+#LIB_SRCS += xdr.c
+
+LIB_OBJS := $(LIB_SRCS:.c=.o)
+
+CFLAGS += -Wall
+CFLAGS += -Werror
+CFLAGS += -g
+CFLAGS += -O3
+CFLAGS += -fno-strict-aliasing
+#CFLAGS += $(INCLUDES)
+# Get gcc to generate the dependencies for us.
+CFLAGS += -Wp,-MD,.$(@F).d
+DEPS = .*.d
+
+MAJOR = 1.3
+MINOR = 0
+LIB_NAME = libxutil
+LIB_BASE = $(LIB_NAME).so
+LIB_MAJOR= $(LIB_BASE).$(MAJOR)
+LIB_MINOR= $(LIB_MAJOR).$(MINOR)
+LIB = $(LIB_BASE) $(LIB_MAJOR) $(LIB_MINOR) $(LIB_NAME).a
+
+all: check-for-zlib $(LIB)
+
+$(LIB_BASE):
+ ln -sf $(LIB_MAJOR) $@
+
+$(LIB_MAJOR):
+ ln -sf $(LIB_MINOR) $@
+
+$(LIB_MINOR): $(LIB_OBJS)
+ $(CC) -Wl,-soname -Wl,$(LIB_MAJOR) -shared -o $@ $^
+
+$(LIB_NAME).a: $(LIB_OBJS)
+ $(AR) rc $@ $^
+
+check-for-zlib:
+ @if [ ! -e /usr/include/zlib.h ]; then \
+ echo "***********************************************************"; \
+ echo "ERROR: install zlib header files (http://www.gzip.org/zlib)"; \
+ echo "***********************************************************"; \
+ false; \
+ fi
+
+install: all
+ mkdir -p $(prefix)/usr/lib
+ mkdir -p $(prefix)/usr/include
+ install -m0755 $(LIB) $(prefix)/usr/lib
+
+#install -m0644 xc.h $(prefix)/usr/include
+
+clean:
+ $(RM) *.a *.so *.o *.rpm $(LIB)
+ $(RM) *~
+ $(RM) $(DEPS)
+
+-include $(DEPS)
diff --git a/tools/lib/allocate.c b/tools/libxutil/allocate.c
index 600ebabda6..600ebabda6 100644
--- a/tools/lib/allocate.c
+++ b/tools/libxutil/allocate.c
diff --git a/tools/lib/allocate.h b/tools/libxutil/allocate.h
index 08bc67b910..08bc67b910 100644
--- a/tools/lib/allocate.h
+++ b/tools/libxutil/allocate.h
diff --git a/tools/lib/debug.h b/tools/libxutil/debug.h
index 4f5228faa3..4f5228faa3 100644
--- a/tools/lib/debug.h
+++ b/tools/libxutil/debug.h
diff --git a/tools/lib/enum.c b/tools/libxutil/enum.c
index 95f6e31a87..95f6e31a87 100644
--- a/tools/lib/enum.c
+++ b/tools/libxutil/enum.c
diff --git a/tools/lib/enum.h b/tools/libxutil/enum.h
index db6e7b0058..db6e7b0058 100644
--- a/tools/lib/enum.h
+++ b/tools/libxutil/enum.h
diff --git a/tools/lib/file_stream.c b/tools/libxutil/file_stream.c
index 40391f7fa6..40391f7fa6 100644
--- a/tools/lib/file_stream.c
+++ b/tools/libxutil/file_stream.c
diff --git a/tools/lib/file_stream.h b/tools/libxutil/file_stream.h
index 36a0f928b2..36a0f928b2 100644
--- a/tools/lib/file_stream.h
+++ b/tools/libxutil/file_stream.h
diff --git a/tools/lib/gzip_stream.c b/tools/libxutil/gzip_stream.c
index af46023f9d..af46023f9d 100644
--- a/tools/lib/gzip_stream.c
+++ b/tools/libxutil/gzip_stream.c
diff --git a/tools/lib/gzip_stream.h b/tools/libxutil/gzip_stream.h
index cf76d25275..cf76d25275 100644
--- a/tools/lib/gzip_stream.h
+++ b/tools/libxutil/gzip_stream.h
diff --git a/tools/lib/hash_table.c b/tools/libxutil/hash_table.c
index 13da946e77..13da946e77 100644
--- a/tools/lib/hash_table.c
+++ b/tools/libxutil/hash_table.c
diff --git a/tools/lib/hash_table.h b/tools/libxutil/hash_table.h
index 6d7e76ff33..6d7e76ff33 100644
--- a/tools/lib/hash_table.h
+++ b/tools/libxutil/hash_table.h
diff --git a/tools/lib/iostream.c b/tools/libxutil/iostream.c
index e9980838f7..e9980838f7 100644
--- a/tools/lib/iostream.c
+++ b/tools/libxutil/iostream.c
diff --git a/tools/lib/iostream.h b/tools/libxutil/iostream.h
index 5dbe14a0b4..5dbe14a0b4 100644
--- a/tools/lib/iostream.h
+++ b/tools/libxutil/iostream.h
diff --git a/tools/lib/kernel_stream.c b/tools/libxutil/kernel_stream.c
index 345b048015..345b048015 100644
--- a/tools/lib/kernel_stream.c
+++ b/tools/libxutil/kernel_stream.c
diff --git a/tools/lib/kernel_stream.h b/tools/libxutil/kernel_stream.h
index be370f2a45..be370f2a45 100644
--- a/tools/lib/kernel_stream.h
+++ b/tools/libxutil/kernel_stream.h
diff --git a/tools/lib/lexis.c b/tools/libxutil/lexis.c
index 26d2ec4d5b..26d2ec4d5b 100644
--- a/tools/lib/lexis.c
+++ b/tools/libxutil/lexis.c
diff --git a/tools/lib/lexis.h b/tools/libxutil/lexis.h
index 7d8fe7bc63..7d8fe7bc63 100644
--- a/tools/lib/lexis.h
+++ b/tools/libxutil/lexis.h
diff --git a/tools/lib/lzi_stream.c b/tools/libxutil/lzi_stream.c
index 0f09734201..0f09734201 100644
--- a/tools/lib/lzi_stream.c
+++ b/tools/libxutil/lzi_stream.c
diff --git a/tools/lib/lzi_stream.h b/tools/libxutil/lzi_stream.h
index 0ad4f8db8e..0ad4f8db8e 100644
--- a/tools/lib/lzi_stream.h
+++ b/tools/libxutil/lzi_stream.h
diff --git a/tools/lib/lzo_stream.c b/tools/libxutil/lzo_stream.c
index bf7c348471..bf7c348471 100644
--- a/tools/lib/lzo_stream.c
+++ b/tools/libxutil/lzo_stream.c
diff --git a/tools/lib/lzo_stream.h b/tools/libxutil/lzo_stream.h
index 493da7b1ad..493da7b1ad 100644
--- a/tools/lib/lzo_stream.h
+++ b/tools/libxutil/lzo_stream.h
diff --git a/tools/lib/marshal.c b/tools/libxutil/marshal.c
index 21691d4412..21691d4412 100644
--- a/tools/lib/marshal.c
+++ b/tools/libxutil/marshal.c
diff --git a/tools/lib/marshal.h b/tools/libxutil/marshal.h
index 9a9d465b9b..9a9d465b9b 100644
--- a/tools/lib/marshal.h
+++ b/tools/libxutil/marshal.h
diff --git a/tools/lib/socket_stream.c b/tools/libxutil/socket_stream.c
index cfa6e3abf0..cfa6e3abf0 100644
--- a/tools/lib/socket_stream.c
+++ b/tools/libxutil/socket_stream.c
diff --git a/tools/lib/socket_stream.h b/tools/libxutil/socket_stream.h
index 5b8515f6b3..5b8515f6b3 100644
--- a/tools/lib/socket_stream.h
+++ b/tools/libxutil/socket_stream.h
diff --git a/tools/lib/string_stream.c b/tools/libxutil/string_stream.c
index c3cf423d84..c3cf423d84 100644
--- a/tools/lib/string_stream.c
+++ b/tools/libxutil/string_stream.c
diff --git a/tools/lib/string_stream.h b/tools/libxutil/string_stream.h
index 36d764b265..36d764b265 100644
--- a/tools/lib/string_stream.h
+++ b/tools/libxutil/string_stream.h
diff --git a/tools/lib/sxpr.c b/tools/libxutil/sxpr.c
index adeffbe5eb..adeffbe5eb 100644
--- a/tools/lib/sxpr.c
+++ b/tools/libxutil/sxpr.c
diff --git a/tools/lib/sxpr.h b/tools/libxutil/sxpr.h
index b90083139c..b90083139c 100644
--- a/tools/lib/sxpr.h
+++ b/tools/libxutil/sxpr.h
diff --git a/tools/lib/sxpr_parser.c b/tools/libxutil/sxpr_parser.c
index 16fec56b67..16fec56b67 100644
--- a/tools/lib/sxpr_parser.c
+++ b/tools/libxutil/sxpr_parser.c
diff --git a/tools/lib/sxpr_parser.h b/tools/libxutil/sxpr_parser.h
index 7296312e44..7296312e44 100644
--- a/tools/lib/sxpr_parser.h
+++ b/tools/libxutil/sxpr_parser.h
diff --git a/tools/lib/sys_ctype.h b/tools/libxutil/sys_ctype.h
index 1dc6cf2fac..1dc6cf2fac 100644
--- a/tools/lib/sys_ctype.h
+++ b/tools/libxutil/sys_ctype.h
diff --git a/tools/lib/sys_net.c b/tools/libxutil/sys_net.c
index 0e7ac5d638..0e7ac5d638 100644
--- a/tools/lib/sys_net.c
+++ b/tools/libxutil/sys_net.c
diff --git a/tools/lib/sys_net.h b/tools/libxutil/sys_net.h
index da6c1e8fd5..da6c1e8fd5 100644
--- a/tools/lib/sys_net.h
+++ b/tools/libxutil/sys_net.h
diff --git a/tools/lib/sys_string.c b/tools/libxutil/sys_string.c
index 13a90dfd7d..13a90dfd7d 100644
--- a/tools/lib/sys_string.c
+++ b/tools/libxutil/sys_string.c
diff --git a/tools/lib/sys_string.h b/tools/libxutil/sys_string.h
index f39935f669..f39935f669 100644
--- a/tools/lib/sys_string.h
+++ b/tools/libxutil/sys_string.h
diff --git a/tools/lib/xdr.c b/tools/libxutil/xdr.c
index dfb91f23c4..dfb91f23c4 100644
--- a/tools/lib/xdr.c
+++ b/tools/libxutil/xdr.c
diff --git a/tools/lib/xdr.h b/tools/libxutil/xdr.h
index cb7d97df95..cb7d97df95 100644
--- a/tools/lib/xdr.h
+++ b/tools/libxutil/xdr.h
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 9df04d8ea2..9795997364 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -1,10 +1,18 @@
+XEN_ROOT=../..
+include $(XEN_ROOT)/tools/Make.defs
+
CC = gcc
CFLAGS = -Wall -O3
-EXTRA_INC = -I../../xen/include/hypervisor-ifs
-EXTRA_INC += -I../../linux-xen-sparse/include -I../xc/lib
-EXTRA_INC += -I../xu/lib
-EXTRA_INC += -I../lib
+
+INCLUDES += -I $(XEN_HYPERVISOR_IFS)
+INCLUDES += -I $(XEN_LINUX_INCLUDE)
+INCLUDES += -I $(XEN_XC)
+INCLUDES += -I $(XEN_XU)
+INCLUDES += -I $(XEN_LIBXC)
+INCLUDES += -I $(XEN_LIBXUTIL)
+
+CFLAGS += $(INCLUDES)
HDRS = $(wildcard *.h)
SRCS = $(wildcard *.c)
@@ -12,7 +20,8 @@ OBJS = $(patsubst %.c,%.o,$(SRCS))
TARGETS = xen_cpuperf
-INSTALL = $(TARGETS) xencons
+INSTALL_BIN = $(TARGETS) xencons
+INSTALL_SBIN = netfix xm xend
all: $(TARGETS)
$(MAKE) -C miniterm
@@ -20,8 +29,8 @@ all: $(TARGETS)
install: all
mkdir -p $(prefix)/usr/bin
mkdir -p $(prefix)/usr/sbin
- install -m0755 $(INSTALL) $(prefix)/usr/bin
- install -m0755 netfix $(prefix)/usr/sbin
+ install -m0755 $(INSTALL_BIN) $(prefix)/usr/bin
+ install -m0755 $(INSTALL_SBIN) $(prefix)/usr/sbin
$(MAKE) -C miniterm install
clean:
@@ -29,4 +38,4 @@ clean:
$(MAKE) -C miniterm clean
%: %.c $(HDRS) Makefile
- $(CC) $(CFLAGS) $(EXTRA_INC) -o $@ $<
+ $(CC) $(CFLAGS) -o $@ $<
diff --git a/tools/misc/netfix b/tools/misc/netfix
index def4e28a6c..df38e438a1 100644
--- a/tools/misc/netfix
+++ b/tools/misc/netfix
@@ -1,5 +1,6 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# -*- mode: python; -*-
+#============================================================================
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
#============================================================================
# Move the IP address from eth0 onto the Xen bridge (nbe-br).
@@ -7,7 +8,7 @@
#============================================================================
from getopt import getopt
-from xen.xend.XendBridge import *
+from xen.util.Brctl import *
short_options = 'hvqni:b:c'
long_options = ['help', 'verbose', 'quiet',
diff --git a/tools/xen/xend b/tools/misc/xend
index 1e13e1450f..06006490a4 100644
--- a/tools/xen/xend
+++ b/tools/misc/xend
@@ -1,6 +1,8 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# -*- mode: python; -*-
+#============================================================================
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+#============================================================================
"""Xen management daemon. Lives in /usr/sbin.
Provides console server and HTTP management api.
diff --git a/tools/xen/xm b/tools/misc/xm
index 09d8036f0f..6ace888cda 100755
--- a/tools/xen/xm
+++ b/tools/misc/xm
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# -*- mode: python; -*-
import sys
from xen.xm import main
diff --git a/tools/xc/py/Makefile b/tools/python/Makefile
index 7dc74a1072..7dc74a1072 100644
--- a/tools/xc/py/Makefile
+++ b/tools/python/Makefile
diff --git a/tools/python/setup.py b/tools/python/setup.py
new file mode 100644
index 0000000000..b0eb3f2ebd
--- /dev/null
+++ b/tools/python/setup.py
@@ -0,0 +1,48 @@
+
+from distutils.core import setup, Extension
+
+XEN_ROOT = "../.."
+
+extra_compile_args = ["-fno-strict-aliasing"]
+
+
+include_dirs = [ XEN_ROOT + "/xen/include/hypervisor-ifs",
+ XEN_ROOT + "/linux-xen-sparse/include",
+ XEN_ROOT + "/tools/python/xen/ext/xu",
+ XEN_ROOT + "/tools/libxc",
+ XEN_ROOT + "/tools/libxutil",
+ ]
+
+library_dirs = [ XEN_ROOT + "/tools/libxc",
+ XEN_ROOT + "/tools/libxutil",
+ ]
+
+libraries = [ "xc", "xutil" ]
+
+xc = Extension("xc",
+ extra_compile_args = extra_compile_args,
+ include_dirs = include_dirs + [ "xen/ext/xc" ],
+ library_dirs = library_dirs,
+ libraries = libraries,
+ sources = [ "xen/ext/xc/xc.c" ])
+
+xu = Extension("xu",
+ extra_compile_args = extra_compile_args,
+ include_dirs = include_dirs + [ "xen/ext/xu" ],
+ library_dirs = library_dirs,
+ libraries = libraries,
+ sources = [ "xen/ext/xu/xu.c" ])
+
+setup(name = 'xen',
+ version = '2.0',
+ description = 'Xen',
+ packages = ['xen',
+ 'xen.ext',
+ 'xen.util',
+ 'xen.xend',
+ 'xen.xend.server',
+ 'xen.xm',
+ ],
+ ext_package = "xen.ext",
+ ext_modules = [ xc, xu ]
+ )
diff --git a/tools/xen/lib/__init__.py b/tools/python/xen/__init__.py
index 8d1c8b69c3..8d1c8b69c3 100644
--- a/tools/xen/lib/__init__.py
+++ b/tools/python/xen/__init__.py
diff --git a/tools/xen/lib/ext/__init__.py b/tools/python/xen/ext/__init__.py
index 8d1c8b69c3..8d1c8b69c3 100644
--- a/tools/xen/lib/ext/__init__.py
+++ b/tools/python/xen/ext/__init__.py
diff --git a/tools/xu/Makefile b/tools/python/xen/ext/xc/Makefile
index 6b31fd1f8b..7dc74a1072 100644
--- a/tools/xu/Makefile
+++ b/tools/python/xen/ext/xc/Makefile
@@ -12,4 +12,4 @@ install: all
fi
clean:
- rm -rf build *.pyc *.pyo *.a *.so *.o *~ *.rpm
+ rm -rf build *.pyc *.pyo *.o *.a *~
diff --git a/tools/xc/py/setup.py b/tools/python/xen/ext/xc/setup.py
index 8efe5ca1a0..8efe5ca1a0 100644
--- a/tools/xc/py/setup.py
+++ b/tools/python/xen/ext/xc/setup.py
diff --git a/tools/xc/py/Xc.c b/tools/python/xen/ext/xc/xc.c
index 2eb70cf2a0..2eb70cf2a0 100644
--- a/tools/xc/py/Xc.c
+++ b/tools/python/xen/ext/xc/xc.c
diff --git a/tools/xen/lib/xm/__init__.py b/tools/python/xen/ext/xu/__init__.py
index e69de29bb2..e69de29bb2 100644
--- a/tools/xen/lib/xm/__init__.py
+++ b/tools/python/xen/ext/xu/__init__.py
diff --git a/tools/xu/lib/domain_controller.h b/tools/python/xen/ext/xu/domain_controller.h
index 76dd164fcb..76dd164fcb 100644
--- a/tools/xu/lib/domain_controller.h
+++ b/tools/python/xen/ext/xu/domain_controller.h
diff --git a/tools/xu/lib/xu.c b/tools/python/xen/ext/xu/xu.c
index 48c975912d..48c975912d 100644
--- a/tools/xu/lib/xu.c
+++ b/tools/python/xen/ext/xu/xu.c
diff --git a/tools/xen/lib/util/Brctl.py b/tools/python/xen/util/Brctl.py
index 9d3eba1e5f..9d3eba1e5f 100644
--- a/tools/xen/lib/util/Brctl.py
+++ b/tools/python/xen/util/Brctl.py
diff --git a/tools/xen/lib/util/__init__.py b/tools/python/xen/util/__init__.py
index 8d1c8b69c3..8d1c8b69c3 100644
--- a/tools/xen/lib/util/__init__.py
+++ b/tools/python/xen/util/__init__.py
diff --git a/tools/xen/lib/util/console_client.py b/tools/python/xen/util/console_client.py
index 7ac63aeb75..7ac63aeb75 100644
--- a/tools/xen/lib/util/console_client.py
+++ b/tools/python/xen/util/console_client.py
diff --git a/tools/xen/lib/util/ip.py b/tools/python/xen/util/ip.py
index 8396e0d014..8396e0d014 100644
--- a/tools/xen/lib/util/ip.py
+++ b/tools/python/xen/util/ip.py
diff --git a/tools/xen/lib/util/tempfile.py b/tools/python/xen/util/tempfile.py
index 756d8c8727..756d8c8727 100644
--- a/tools/xen/lib/util/tempfile.py
+++ b/tools/python/xen/util/tempfile.py
diff --git a/tools/xen/lib/xend/Args.py b/tools/python/xen/xend/Args.py
index 527e841d3d..527e841d3d 100644
--- a/tools/xen/lib/xend/Args.py
+++ b/tools/python/xen/xend/Args.py
diff --git a/tools/xen/lib/xend/EventServer.py b/tools/python/xen/xend/EventServer.py
index 20c567ada7..20c567ada7 100644
--- a/tools/xen/lib/xend/EventServer.py
+++ b/tools/python/xen/xend/EventServer.py
diff --git a/tools/xen/lib/xend/EventTypes.py b/tools/python/xen/xend/EventTypes.py
index 6350baa5dd..6350baa5dd 100644
--- a/tools/xen/lib/xend/EventTypes.py
+++ b/tools/python/xen/xend/EventTypes.py
diff --git a/tools/xen/lib/xend/PrettyPrint.py b/tools/python/xen/xend/PrettyPrint.py
index 9e91b11448..9e91b11448 100644
--- a/tools/xen/lib/xend/PrettyPrint.py
+++ b/tools/python/xen/xend/PrettyPrint.py
diff --git a/tools/xen/lib/xend/Vifctl.py b/tools/python/xen/xend/Vifctl.py
index 49df8f6bd0..49df8f6bd0 100644
--- a/tools/xen/lib/xend/Vifctl.py
+++ b/tools/python/xen/xend/Vifctl.py
diff --git a/tools/xen/lib/xend/XendClient.py b/tools/python/xen/xend/XendClient.py
index 13dc3dbb1e..13dc3dbb1e 100644
--- a/tools/xen/lib/xend/XendClient.py
+++ b/tools/python/xen/xend/XendClient.py
diff --git a/tools/xen/lib/xend/XendConsole.py b/tools/python/xen/xend/XendConsole.py
index 4420c388f2..4420c388f2 100644
--- a/tools/xen/lib/xend/XendConsole.py
+++ b/tools/python/xen/xend/XendConsole.py
diff --git a/tools/xen/lib/xend/XendDB.py b/tools/python/xen/xend/XendDB.py
index 6a27e65b58..6a27e65b58 100644
--- a/tools/xen/lib/xend/XendDB.py
+++ b/tools/python/xen/xend/XendDB.py
diff --git a/tools/xen/lib/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py
index 3aaf080c36..3aaf080c36 100644
--- a/tools/xen/lib/xend/XendDomain.py
+++ b/tools/python/xen/xend/XendDomain.py
diff --git a/tools/xen/lib/xend/XendDomainConfig.py b/tools/python/xen/xend/XendDomainConfig.py
index 35db31ff51..35db31ff51 100644
--- a/tools/xen/lib/xend/XendDomainConfig.py
+++ b/tools/python/xen/xend/XendDomainConfig.py
diff --git a/tools/xen/lib/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
index a7e5aa3b2f..a7e5aa3b2f 100644
--- a/tools/xen/lib/xend/XendDomainInfo.py
+++ b/tools/python/xen/xend/XendDomainInfo.py
diff --git a/tools/xen/lib/xend/XendMigrate.py b/tools/python/xen/xend/XendMigrate.py
index 1580ba83ed..1580ba83ed 100644
--- a/tools/xen/lib/xend/XendMigrate.py
+++ b/tools/python/xen/xend/XendMigrate.py
diff --git a/tools/xen/lib/xend/XendNode.py b/tools/python/xen/xend/XendNode.py
index 7221785aff..7221785aff 100644
--- a/tools/xen/lib/xend/XendNode.py
+++ b/tools/python/xen/xend/XendNode.py
diff --git a/tools/xen/lib/xend/XendRoot.py b/tools/python/xen/xend/XendRoot.py
index 665f5df29e..665f5df29e 100644
--- a/tools/xen/lib/xend/XendRoot.py
+++ b/tools/python/xen/xend/XendRoot.py
diff --git a/tools/xen/lib/xend/XendVnet.py b/tools/python/xen/xend/XendVnet.py
index 213408e111..213408e111 100644
--- a/tools/xen/lib/xend/XendVnet.py
+++ b/tools/python/xen/xend/XendVnet.py
diff --git a/tools/xen/lib/xend/__init__.py b/tools/python/xen/xend/__init__.py
index 8d1c8b69c3..8d1c8b69c3 100644
--- a/tools/xen/lib/xend/__init__.py
+++ b/tools/python/xen/xend/__init__.py
diff --git a/tools/xen/lib/xend/encode.py b/tools/python/xen/xend/encode.py
index 38c9351db7..38c9351db7 100644
--- a/tools/xen/lib/xend/encode.py
+++ b/tools/python/xen/xend/encode.py
diff --git a/tools/xen/lib/xend/server/SrvBase.py b/tools/python/xen/xend/server/SrvBase.py
index bcff1bc3a0..bcff1bc3a0 100644
--- a/tools/xen/lib/xend/server/SrvBase.py
+++ b/tools/python/xen/xend/server/SrvBase.py
diff --git a/tools/xen/lib/xend/server/SrvConsole.py b/tools/python/xen/xend/server/SrvConsole.py
index 59d0e5f11c..59d0e5f11c 100644
--- a/tools/xen/lib/xend/server/SrvConsole.py
+++ b/tools/python/xen/xend/server/SrvConsole.py
diff --git a/tools/xen/lib/xend/server/SrvConsoleDir.py b/tools/python/xen/xend/server/SrvConsoleDir.py
index 814b448370..814b448370 100644
--- a/tools/xen/lib/xend/server/SrvConsoleDir.py
+++ b/tools/python/xen/xend/server/SrvConsoleDir.py
diff --git a/tools/xen/lib/xend/server/SrvDaemon.py b/tools/python/xen/xend/server/SrvDaemon.py
index c8284dc485..c8284dc485 100644
--- a/tools/xen/lib/xend/server/SrvDaemon.py
+++ b/tools/python/xen/xend/server/SrvDaemon.py
diff --git a/tools/xen/lib/xend/server/SrvDeviceDir.py b/tools/python/xen/xend/server/SrvDeviceDir.py
index 52f428540d..52f428540d 100644
--- a/tools/xen/lib/xend/server/SrvDeviceDir.py
+++ b/tools/python/xen/xend/server/SrvDeviceDir.py
diff --git a/tools/xen/lib/xend/server/SrvDir.py b/tools/python/xen/xend/server/SrvDir.py
index c49c0b36ba..c49c0b36ba 100644
--- a/tools/xen/lib/xend/server/SrvDir.py
+++ b/tools/python/xen/xend/server/SrvDir.py
diff --git a/tools/xen/lib/xend/server/SrvDomain.py b/tools/python/xen/xend/server/SrvDomain.py
index 156198bd70..156198bd70 100644
--- a/tools/xen/lib/xend/server/SrvDomain.py
+++ b/tools/python/xen/xend/server/SrvDomain.py
diff --git a/tools/xen/lib/xend/server/SrvDomainDir.py b/tools/python/xen/xend/server/SrvDomainDir.py
index af4bc7a15c..af4bc7a15c 100644
--- a/tools/xen/lib/xend/server/SrvDomainDir.py
+++ b/tools/python/xen/xend/server/SrvDomainDir.py
diff --git a/tools/xen/lib/xend/server/SrvEventDir.py b/tools/python/xen/xend/server/SrvEventDir.py
index 02871a426a..02871a426a 100644
--- a/tools/xen/lib/xend/server/SrvEventDir.py
+++ b/tools/python/xen/xend/server/SrvEventDir.py
diff --git a/tools/xen/lib/xend/server/SrvNode.py b/tools/python/xen/xend/server/SrvNode.py
index 69747d80c1..69747d80c1 100644
--- a/tools/xen/lib/xend/server/SrvNode.py
+++ b/tools/python/xen/xend/server/SrvNode.py
diff --git a/tools/xen/lib/xend/server/SrvRoot.py b/tools/python/xen/xend/server/SrvRoot.py
index 8d38937b72..8d38937b72 100644
--- a/tools/xen/lib/xend/server/SrvRoot.py
+++ b/tools/python/xen/xend/server/SrvRoot.py
diff --git a/tools/xen/lib/xend/server/SrvServer.py b/tools/python/xen/xend/server/SrvServer.py
index ac201dd10d..ac201dd10d 100644
--- a/tools/xen/lib/xend/server/SrvServer.py
+++ b/tools/python/xen/xend/server/SrvServer.py
diff --git a/tools/xen/lib/xend/server/SrvVnetDir.py b/tools/python/xen/xend/server/SrvVnetDir.py
index a8a814192d..a8a814192d 100644
--- a/tools/xen/lib/xend/server/SrvVnetDir.py
+++ b/tools/python/xen/xend/server/SrvVnetDir.py
diff --git a/tools/xen/lib/xend/server/__init__.py b/tools/python/xen/xend/server/__init__.py
index 8b13789179..8b13789179 100644
--- a/tools/xen/lib/xend/server/__init__.py
+++ b/tools/python/xen/xend/server/__init__.py
diff --git a/tools/xen/lib/xend/server/blkif.py b/tools/python/xen/xend/server/blkif.py
index 4e2a49f7d8..4e2a49f7d8 100755
--- a/tools/xen/lib/xend/server/blkif.py
+++ b/tools/python/xen/xend/server/blkif.py
diff --git a/tools/xen/lib/xend/server/channel.py b/tools/python/xen/xend/server/channel.py
index be98a37fd5..be98a37fd5 100755
--- a/tools/xen/lib/xend/server/channel.py
+++ b/tools/python/xen/xend/server/channel.py
diff --git a/tools/xen/lib/xend/server/console.py b/tools/python/xen/xend/server/console.py
index ab8b22e41e..ab8b22e41e 100755
--- a/tools/xen/lib/xend/server/console.py
+++ b/tools/python/xen/xend/server/console.py
diff --git a/tools/xen/lib/xend/server/controller.py b/tools/python/xen/xend/server/controller.py
index 900c2d55b0..900c2d55b0 100755
--- a/tools/xen/lib/xend/server/controller.py
+++ b/tools/python/xen/xend/server/controller.py
diff --git a/tools/xen/lib/xend/server/cstruct.py b/tools/python/xen/xend/server/cstruct.py
index 880931b41f..880931b41f 100755
--- a/tools/xen/lib/xend/server/cstruct.py
+++ b/tools/python/xen/xend/server/cstruct.py
diff --git a/tools/xen/lib/xend/server/domain.py b/tools/python/xen/xend/server/domain.py
index ab22234480..ab22234480 100644
--- a/tools/xen/lib/xend/server/domain.py
+++ b/tools/python/xen/xend/server/domain.py
diff --git a/tools/xen/lib/xend/server/messages.py b/tools/python/xen/xend/server/messages.py
index e12d7b6e24..e12d7b6e24 100644
--- a/tools/xen/lib/xend/server/messages.py
+++ b/tools/python/xen/xend/server/messages.py
diff --git a/tools/xen/lib/xend/server/netif.py b/tools/python/xen/xend/server/netif.py
index 2b01805be6..2b01805be6 100755
--- a/tools/xen/lib/xend/server/netif.py
+++ b/tools/python/xen/xend/server/netif.py
diff --git a/tools/xen/lib/xend/server/params.py b/tools/python/xen/xend/server/params.py
index 7949f1431f..7949f1431f 100644
--- a/tools/xen/lib/xend/server/params.py
+++ b/tools/python/xen/xend/server/params.py
diff --git a/tools/xen/lib/xend/sxp.py b/tools/python/xen/xend/sxp.py
index 01654a2377..01654a2377 100644
--- a/tools/xen/lib/xend/sxp.py
+++ b/tools/python/xen/xend/sxp.py
diff --git a/tools/xu/lib/__init__.py b/tools/python/xen/xm/__init__.py
index e69de29bb2..e69de29bb2 100644
--- a/tools/xu/lib/__init__.py
+++ b/tools/python/xen/xm/__init__.py
diff --git a/tools/xen/lib/xm/create.py b/tools/python/xen/xm/create.py
index 12e2e8010c..12e2e8010c 100644
--- a/tools/xen/lib/xm/create.py
+++ b/tools/python/xen/xm/create.py
diff --git a/tools/xen/lib/xm/main.py b/tools/python/xen/xm/main.py
index 3ab5d23cf7..3ab5d23cf7 100644
--- a/tools/xen/lib/xm/main.py
+++ b/tools/python/xen/xm/main.py
diff --git a/tools/xen/lib/xm/opts.py b/tools/python/xen/xm/opts.py
index eb07936f1e..eb07936f1e 100644
--- a/tools/xen/lib/xm/opts.py
+++ b/tools/python/xen/xm/opts.py
diff --git a/tools/xen/lib/xm/shutdown.py b/tools/python/xen/xm/shutdown.py
index aaa354554a..aaa354554a 100644
--- a/tools/xen/lib/xm/shutdown.py
+++ b/tools/python/xen/xm/shutdown.py
diff --git a/tools/xc/Makefile b/tools/xc/Makefile
deleted file mode 100644
index 04b0e35fe1..0000000000
--- a/tools/xc/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-
-all:
- $(MAKE) -C lib
- $(MAKE) -C py
-
-install: all
- $(MAKE) -C lib install
- $(MAKE) -C py install
-
-clean:
- $(MAKE) -C lib clean
- $(MAKE) -C py clean
diff --git a/tools/xen/Makefile b/tools/xen/Makefile
deleted file mode 100644
index 343a596e90..0000000000
--- a/tools/xen/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-
-all:
- python setup.py build
-
-install: all
- if [ "$(prefix)" = "" ]; then \
- python setup.py install; \
- elif [ "$(dist)" = "yes" ]; then \
- python setup.py install --home="$(prefix)"; \
- else \
- python setup.py install --root="$(prefix)"; \
- fi
- mkdir -p $(prefix)/usr/sbin
- install -m0755 xend $(prefix)/usr/sbin
- install -m0755 xm $(prefix)/usr/sbin
- mkdir -p $(prefix)/etc/xen/xend
- install -m0755 vifctl $(prefix)/etc/xen/xend
-
-clean:
- rm -rf build *.pyc *.pyo *.o *.a *~
diff --git a/tools/xen/setup.py b/tools/xen/setup.py
deleted file mode 100644
index 1f0e959d08..0000000000
--- a/tools/xen/setup.py
+++ /dev/null
@@ -1,17 +0,0 @@
-
-from distutils.core import setup, Extension
-
-setup(name = 'xen',
- version = '1.0',
- description = 'Xen',
- author = 'Mike Wray',
- author_email = 'mike.wray@hp.com',
- packages = ['xen',
- 'xen.ext',
- 'xen.util',
- 'xen.xend',
- 'xen.xend.server',
- 'xen.xm',
- ],
- package_dir = { 'xen': 'lib' },
- )
diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
index f4319be6ed..fb90e2c125 100644
--- a/tools/xentrace/Makefile
+++ b/tools/xentrace/Makefile
@@ -1,10 +1,16 @@
+XEN_ROOT=../..
+include $(XEN_ROOT)/tools/Make.defs
+
CC = gcc
CFLAGS = -Wall -O3 -Werror
-CFLAGS += -I../../xen/include/hypervisor-ifs
-CFLAGS += -I../../linux-xen-sparse/include
-CFLAGS += -I../xu/lib
-CFLAGS += -I../lib
+
+CFLAGS += -I $(XEN_HYPERVISOR_IFS)
+CFLAGS += -I $(XEN_LINUX_INCLUDE)
+CFLAGS += -I $(XEN_XC)
+CFLAGS += -I $(XEN_XU)
+CFLAGS += -I $(XEN_LIBXC)
+CFLAGS += -I $(XEN_LIBXUTIL)
HDRS = $(wildcard *.h)
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
@@ -28,4 +34,4 @@ clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
%: %.c $(HDRS) Makefile
- $(CC) $(CFLAGS) -o $@ $< -L../xc/lib -lxc
+ $(CC) $(CFLAGS) -o $@ $< -L$(XEN_LIBXC) -lxc
diff --git a/tools/xentrace/xentrace.c b/tools/xentrace/xentrace.c
index 3560745a42..9972422878 100644
--- a/tools/xentrace/xentrace.c
+++ b/tools/xentrace/xentrace.c
@@ -21,7 +21,7 @@
#include <argp.h>
#include <signal.h>
-#include "../xc/lib/xc_private.h"
+#include "xc_private.h"
/* from xen/include/hypervisor-ifs */
#include <trace.h>
diff --git a/tools/xu/setup.py b/tools/xu/setup.py
deleted file mode 100644
index e342c78a14..0000000000
--- a/tools/xu/setup.py
+++ /dev/null
@@ -1,19 +0,0 @@
-
-from distutils.core import setup, Extension
-
-xu = Extension("xu",
- extra_compile_args = ["-fno-strict-aliasing"],
- include_dirs = ["../xc/lib",
- "../../xen/include/hypervisor-ifs",
- "../../linux-xen-sparse/include"],
- library_dirs = ["../xc/lib"],
- libraries = ["xc"],
- sources = ["lib/xu.c"])
-
-setup(name = "xu",
- version = "1.0",
- #packages = ["xend"],
- #package_dir = { "xend" : "lib" },
- ext_package = "xen.ext",
- ext_modules = [ xu ]
- )