Re: Patches for IDL stub generation

Thomas Lockhart <[email protected]> Fri, 28 Feb 2003 17:23:04 -0800
Newsgroups gmane.comp.corba.omniorb.devel
Organization Yes
Message-ID <[email protected]>
Here is a new tarball and patch set to generate more IDL stubs, based on 
  the omniORBpy-2.0 distro.

It should address all issues raised so far, and more suggestions are 
welcome. At the moment, CosNaming appears both at the top of the 
installation area and in omniORB/COS, and a file omniORB.pth is included 
which exposes omniORB/COS to the global namespace when the installation 
target area is also the default python library installation area. Now 
that things have firmed up these details are quite easy to change if 
desired.

Oh, the patch file does change some files which you indicated should 
stay fixed to allow building without autoconf support, but I'll defer to 
him on exactly which files those are. Tuning the patch within the CVS 
environment is much easier than working from the distro imho.

Let me know what else it needs. I'll be off-line this weekend, but if 
mail arrives quickly I can work on things anyway. Otherwise, I can 
address any additional issues at the end of the weekend...

                    - Tom
omniORBpy-COS.tar.gz (application/gzip, 1.8 KB) - not displayed
omniORBpy-COS.patches (text/plain, 15 KB)
Only in omniORBpy-2.0: autom4te-2.5x.cache
diff -cr omniORBpy-2.0.orig/configure omniORBpy-2.0/configure
*** omniORBpy-2.0.orig/configure	2002-09-06 21:34:25.000000000 +0000
--- omniORBpy-2.0/configure	2003-03-01 01:00:34.000000000 +0000
***************
*** 2824,2829 ****
--- 2824,2914 ----
    pkgpyexecdir=\${pyexecdir}/$PACKAGE
  
  
+ # Extract the first word of "omkdepend", so it can be a program name with args.
+ set dummy omkdepend; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_OMKDEPEND+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   case $OMKDEPEND in
+   [\\/]* | ?:[\\/]*)
+   ac_cv_path_OMKDEPEND="$OMKDEPEND" # Let the user override the test with a path.
+   ;;
+   *)
+   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH:$OMNIORB_ROOT/bin:/usr/local/bin:/usr/bin
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_path_OMKDEPEND="$as_dir/$ac_word$ac_exec_ext"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+   test -z "$ac_cv_path_OMKDEPEND" && ac_cv_path_OMKDEPEND="omkdepend"
+   ;;
+ esac
+ fi
+ OMKDEPEND=$ac_cv_path_OMKDEPEND
+ 
+ if test -n "$OMKDEPEND"; then
+   echo "$as_me:$LINENO: result: $OMKDEPEND" >&5
+ echo "${ECHO_T}$OMKDEPEND" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+ for ac_prog in omkdirhier mkdirhier
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_MKDIRHIER+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   case $MKDIRHIER in
+   [\\/]* | ?:[\\/]*)
+   ac_cv_path_MKDIRHIER="$MKDIRHIER" # Let the user override the test with a path.
+   ;;
+   *)
+   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in ./bin/scripts:$PATH:$OMNIORB_ROOT/bin:/usr/local/bin:/usr/bin
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_path_MKDIRHIER="$as_dir/$ac_word$ac_exec_ext"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+   ;;
+ esac
+ fi
+ MKDIRHIER=$ac_cv_path_MKDIRHIER
+ 
+ if test -n "$MKDIRHIER"; then
+   echo "$as_me:$LINENO: result: $MKDIRHIER" >&5
+ echo "${ECHO_T}$MKDIRHIER" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   test -n "$MKDIRHIER" && break
+ done
+ test -n "$MKDIRHIER" || MKDIRHIER="omkdirhier"
+ 
  
  ac_ext=cc
  ac_cpp='$CXXCPP $CPPFLAGS'
***************
*** 3011,3017 ****
  ac_config_files="$ac_config_files mk/beforeauto.mk mk/afterauto.mk"
  
  
! ac_config_files="$ac_config_files GNUmakefile examples/embed/GNUmakefile modules/GNUmakefile modules/codesets/GNUmakefile modules/sslTP/GNUmakefile omniidl_be/GNUmakefile python/CosNaming/GNUmakefile python/CosNaming__POA/GNUmakefile python/GNUmakefile python/omniORB/GNUmakefile include/GNUmakefile"
  
  
  cat >confcache <<\_ACEOF
--- 3096,3102 ----
  ac_config_files="$ac_config_files mk/beforeauto.mk mk/afterauto.mk"
  
  
! ac_config_files="$ac_config_files GNUmakefile examples/embed/GNUmakefile modules/GNUmakefile modules/codesets/GNUmakefile modules/sslTP/GNUmakefile omniidl_be/GNUmakefile python/GNUmakefile python/COS/GNUmakefile python/omniORB/GNUmakefile include/GNUmakefile"
  
  
  cat >confcache <<\_ACEOF
***************
*** 3519,3527 ****
    "modules/codesets/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES modules/codesets/GNUmakefile" ;;
    "modules/sslTP/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES modules/sslTP/GNUmakefile" ;;
    "omniidl_be/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES omniidl_be/GNUmakefile" ;;
-   "python/CosNaming/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/CosNaming/GNUmakefile" ;;
-   "python/CosNaming__POA/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/CosNaming__POA/GNUmakefile" ;;
    "python/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/GNUmakefile" ;;
    "python/omniORB/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/omniORB/GNUmakefile" ;;
    "include/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES include/GNUmakefile" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
--- 3604,3611 ----
    "modules/codesets/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES modules/codesets/GNUmakefile" ;;
    "modules/sslTP/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES modules/sslTP/GNUmakefile" ;;
    "omniidl_be/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES omniidl_be/GNUmakefile" ;;
    "python/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/GNUmakefile" ;;
+   "python/COS/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/COS/GNUmakefile" ;;
    "python/omniORB/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES python/omniORB/GNUmakefile" ;;
    "include/GNUmakefile" ) CONFIG_FILES="$CONFIG_FILES include/GNUmakefile" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
***************
*** 3638,3643 ****
--- 3722,3729 ----
  s,@pkgpythondir@,$pkgpythondir,;t t
  s,@pyexecdir@,$pyexecdir,;t t
  s,@pkgpyexecdir@,$pkgpyexecdir,;t t
+ s,@OMKDEPEND@,$OMKDEPEND,;t t
+ s,@MKDIRHIER@,$MKDIRHIER,;t t
  s,@OMNIORB_ROOT@,$OMNIORB_ROOT,;t t
  s,@OPEN_SSL_ROOT@,$OPEN_SSL_ROOT,;t t
  s,@COMPILER_NAME@,$COMPILER_NAME,;t t
diff -cr omniORBpy-2.0.orig/configure.ac omniORBpy-2.0/configure.ac
*** omniORBpy-2.0.orig/configure.ac	2002-09-06 21:34:25.000000000 +0000
--- omniORBpy-2.0/configure.ac	2003-02-28 06:29:29.000000000 +0000
***************
*** 19,24 ****
--- 19,28 ----
  AC_PROG_MAKE_SET
  
  AM_PATH_PYTHON
+ AC_PATH_PROG(OMKDEPEND, omkdepend, omkdepend,
+              $PATH:$OMNIORB_ROOT/bin:/usr/local/bin:/usr/bin)
+ AC_PATH_PROGS(MKDIRHIER, omkdirhier mkdirhier, omkdirhier,
+              ./bin/scripts:$PATH:$OMNIORB_ROOT/bin:/usr/local/bin:/usr/bin)
  
  AC_LANG(C++)
  
***************
*** 123,131 ****
                  modules/codesets/GNUmakefile
                  modules/sslTP/GNUmakefile
                  omniidl_be/GNUmakefile
-                 python/CosNaming/GNUmakefile
-                 python/CosNaming__POA/GNUmakefile
                  python/GNUmakefile
                  python/omniORB/GNUmakefile
  		include/GNUmakefile
                 )
--- 127,134 ----
                  modules/codesets/GNUmakefile
                  modules/sslTP/GNUmakefile
                  omniidl_be/GNUmakefile
                  python/GNUmakefile
+                 python/COS/GNUmakefile
                  python/omniORB/GNUmakefile
  		include/GNUmakefile
                 )
diff -cr omniORBpy-2.0.orig/examples/embed/GNUmakefile omniORBpy-2.0/examples/embed/GNUmakefile
*** omniORBpy-2.0.orig/examples/embed/GNUmakefile	2002-06-10 00:33:31.000000000 +0000
--- omniORBpy-2.0/examples/embed/GNUmakefile	2003-02-28 20:04:21.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../../..
! CURRENT=src/lib/omniORBpy/examples/embed
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=../..
! CURRENT=examples/embed
! BASE_OMNI_TREE=../..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
diff -cr omniORBpy-2.0.orig/GNUmakefile omniORBpy-2.0/GNUmakefile
*** omniORBpy-2.0.orig/GNUmakefile	1999-10-04 17:25:21.000000000 +0000
--- omniORBpy-2.0/GNUmakefile	2003-02-28 20:04:21.000000000 +0000
***************
*** 1,3 ****
! TOP=../../..
! CURRENT=src/lib/omniORBpy
! include $(TOP)/config/config.mk
--- 1,8 ----
! TOP=.
! CURRENT=.
! BASE_OMNI_TREE=.
! 
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
diff -cr omniORBpy-2.0.orig/include/GNUmakefile omniORBpy-2.0/include/GNUmakefile
*** omniORBpy-2.0.orig/include/GNUmakefile	2002-06-10 00:33:31.000000000 +0000
--- omniORBpy-2.0/include/GNUmakefile	2003-02-28 20:04:22.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../..
! CURRENT=src/lib/omniORBpy/include
! include $(TOP)/config/config.mk
--- 1,19 ----
! TOP=..
! CURRENT=include
! BASE_OMNI_TREE=..
! 
! INSTALL=/usr/bin/install -c
! 
! INSTALLDIR = $(INSTALLINCDIR)
! 
! HEADERS = omniORBpy.h
! 
! include $(TOP)/mk/beforeauto.mk
! 
! install:: $(HEADERS)
! 	@(dir="$(INSTALLDIR)"; \
!           for file in $^; do \
!             $(ExportFileToDir) \
!           done )
! 
! include $(TOP)/mk/afterauto.mk
Only in omniORBpy-2.0/mk: afterauto.mk
Only in omniORBpy-2.0/mk: beforeauto.mk
diff -cr omniORBpy-2.0.orig/mk/beforeauto.mk.in omniORBpy-2.0/mk/beforeauto.mk.in
*** omniORBpy-2.0.orig/mk/beforeauto.mk.in	2002-09-06 21:34:26.000000000 +0000
--- omniORBpy-2.0/mk/beforeauto.mk.in	2003-02-14 19:34:26.000000000 +0000
***************
*** 43,49 ****
  # Directories for installation
  #
  
! prefix        	 := @prefix@
  exec_prefix   	 := @exec_prefix@
  INSTALLTARGET 	 := 1
  INSTALLINCDIR 	 := @includedir@
--- 43,49 ----
  # Directories for installation
  #
  
! prefix        	 := $(DESTDIR)@prefix@
  exec_prefix   	 := @exec_prefix@
  INSTALLTARGET 	 := 1
  INSTALLINCDIR 	 := @includedir@
***************
*** 275,281 ****
  # files.
  
  vpath %.idl $(IMPORT_TREES:%=%/idl) \
!             $(OMNIORB_ROOT)/idl/omniORB $(DATADIR)/idl/omniORB
  
  IMPORT_IDLFLAGS += -I. $(patsubst %,-I%,$(VPATH)) \
  		       $(patsubst %,-I%/idl,$(IMPORT_TREES))
--- 275,281 ----
  # files.
  
  vpath %.idl $(IMPORT_TREES:%=%/idl) \
!             $(OMNIORB_ROOT)/share/idl/omniORB $(DATADIR)/idl/omniORB
  
  IMPORT_IDLFLAGS += -I. $(patsubst %,-I%,$(VPATH)) \
  		       $(patsubst %,-I%/idl,$(IMPORT_TREES))
***************
*** 336,342 ****
  define VeryCleanRule
  $(RM) *.d
  $(RM) *.pyc
! $(RM) $(CORBA_STUB_FILES)
  endef
  
  
--- 336,342 ----
  define VeryCleanRule
  $(RM) *.d
  $(RM) *.pyc
! $(RM) -r $(CORBA_STUB_FILES)
  endef
  
  
***************
*** 664,676 ****
  CC              = @CC@
  CXX             = @CXX@
  RANLIB		= @RANLIB@
! MKDIRHIER	= $(BASE_OMNI_TREE)/bin/scripts/omkdirhier
  INSTLIBFLAGS	= -m 0644
  INSTEXEFLAGS	= -m 0755
  CP		= cp
  MV		= mv -f
  CPP		= @CPP@
! OMKDEPEND	= $(INSTALLBINDIR)/omkdepend
  RMDIRHIER	= $(RM) -rf
  
  CXXMAKEDEPEND   = $(OMKDEPEND) -D__cplusplus
--- 664,676 ----
  CC              = @CC@
  CXX             = @CXX@
  RANLIB		= @RANLIB@
! MKDIRHIER	= @MKDIRHIER@
  INSTLIBFLAGS	= -m 0644
  INSTEXEFLAGS	= -m 0755
  CP		= cp
  MV		= mv -f
  CPP		= @CPP@
! OMKDEPEND	= @OMKDEPEND@
  RMDIRHIER	= $(RM) -rf
  
  CXXMAKEDEPEND   = $(OMKDEPEND) -D__cplusplus
diff -cr omniORBpy-2.0.orig/modules/codesets/GNUmakefile omniORBpy-2.0/modules/codesets/GNUmakefile
*** omniORBpy-2.0.orig/modules/codesets/GNUmakefile	2002-09-06 21:34:26.000000000 +0000
--- omniORBpy-2.0/modules/codesets/GNUmakefile	2003-02-28 20:04:21.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../../..
! CURRENT=src/lib/omniORBpy/modules/codesets
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=../..
! CURRENT=modules/codesets
! BASE_OMNI_TREE=../..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
diff -cr omniORBpy-2.0.orig/modules/GNUmakefile omniORBpy-2.0/modules/GNUmakefile
*** omniORBpy-2.0.orig/modules/GNUmakefile	1999-10-04 17:25:21.000000000 +0000
--- omniORBpy-2.0/modules/GNUmakefile	2003-02-28 20:04:21.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../..
! CURRENT=src/lib/omniORBpy/modules
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=..
! CURRENT=modules
! BASE_OMNI_TREE=..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
diff -cr omniORBpy-2.0.orig/modules/sslTP/GNUmakefile omniORBpy-2.0/modules/sslTP/GNUmakefile
*** omniORBpy-2.0.orig/modules/sslTP/GNUmakefile	2002-09-06 21:34:26.000000000 +0000
--- omniORBpy-2.0/modules/sslTP/GNUmakefile	2003-02-28 20:04:22.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../../..
! CURRENT=src/lib/omniORBpy/modules/sslTP
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=../..
! CURRENT=modules/sslTP
! BASE_OMNI_TREE=../..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
diff -cr omniORBpy-2.0.orig/omniidl_be/GNUmakefile omniORBpy-2.0/omniidl_be/GNUmakefile
*** omniORBpy-2.0.orig/omniidl_be/GNUmakefile	2000-03-03 17:41:44.000000000 +0000
--- omniORBpy-2.0/omniidl_be/GNUmakefile	2003-02-28 20:04:22.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../..
! CURRENT=src/lib/omniORBpy/omniidl_be
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=..
! CURRENT=omniidl_be
! BASE_OMNI_TREE=..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
Only in omniORBpy-2.0/python: COS
Only in omniORBpy-2.0.orig/python: CosNaming
Only in omniORBpy-2.0.orig/python: CosNaming__POA
diff -cr omniORBpy-2.0.orig/python/dir.mk omniORBpy-2.0/python/dir.mk
*** omniORBpy-2.0.orig/python/dir.mk	2002-02-18 18:48:14.000000000 +0000
--- omniORBpy-2.0/python/dir.mk	2003-02-28 14:21:34.000000000 +0000
***************
*** 2,18 ****
  PYLIBDIR = $(PYLIBROOT)
  INSTALLPYLIBDIR = $(INSTALLPYTHONDIR)
  
! SUBDIRS = omniORB CosNaming CosNaming__POA
  
- ifeq ($(PYTHON),)
- PYTHON = python
- endif
- 
- 
- Naming_idl.py: Naming.idl
- 	$(OMNIIDL) -v -p$(BASE_OMNI_TREE)/omniidl_be -bpython $^
- 
- all:: Naming_idl.py
  
  all::
  	@$(MakeSubdirs)
--- 2,9 ----
  PYLIBDIR = $(PYLIBROOT)
  INSTALLPYLIBDIR = $(INSTALLPYTHONDIR)
  
! SUBDIRS = omniORB COS
  
  
  all::
  	@$(MakeSubdirs)
***************
*** 25,31 ****
  	@$(MakeSubdirs)
  endif
  
! FILES = CORBA.py PortableServer.py PortableServer__POA.py Naming_idl.py
  
  export:: $(FILES)
  	@(dir="$(PYLIBDIR)"; \
--- 16,22 ----
  	@$(MakeSubdirs)
  endif
  
! FILES = CORBA.py PortableServer.py PortableServer__POA.py
  
  export:: $(FILES)
  	@(dir="$(PYLIBDIR)"; \
diff -cr omniORBpy-2.0.orig/python/GNUmakefile omniORBpy-2.0/python/GNUmakefile
*** omniORBpy-2.0.orig/python/GNUmakefile	1999-10-04 17:25:20.000000000 +0000
--- omniORBpy-2.0/python/GNUmakefile	2003-02-28 20:04:22.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../..
! CURRENT=src/lib/omniORBpy/python
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=..
! CURRENT=python
! BASE_OMNI_TREE=..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk
diff -cr omniORBpy-2.0.orig/python/omniORB/GNUmakefile omniORBpy-2.0/python/omniORB/GNUmakefile
*** omniORBpy-2.0.orig/python/omniORB/GNUmakefile	1999-10-04 17:25:19.000000000 +0000
--- omniORBpy-2.0/python/omniORB/GNUmakefile	2003-02-28 20:04:22.000000000 +0000
***************
*** 1,3 ****
! TOP=../../../../..
! CURRENT=src/lib/omniORBpy/python/omniORB
! include $(TOP)/config/config.mk
--- 1,9 ----
! TOP=../..
! CURRENT=python/omniORB
! BASE_OMNI_TREE=../..
! 
! INSTALL=/usr/bin/install -c
! 
! include $(TOP)/mk/beforeauto.mk
! include ./dir.mk
! include $(TOP)/mk/afterauto.mk