Browse Source

*** empty log message ***

David Rose 25 years ago
parent
commit
d9f64a7c77

+ 3 - 3
dtool/src/build/ctaddtgt

@@ -45,16 +45,16 @@ while ( @arglist != () ) {
    require "$tool/inc/ctinstmake.pl" ;
    require "$tool/inc/ctinstmake.pl" ;
    require "$tool/inc/ctcm.pl" ;
    require "$tool/inc/ctcm.pl" ;
 
 
-   $item = "$projroot/src/all/$pkgname" ;
+   $item = "$projroot/src/$pkgname" ;
    if ( ! &CTCMCheckout( $item, $projname, $spec )) {
    if ( ! &CTCMCheckout( $item, $projname, $spec )) {
        die "Could not checkout package '" . $pkgname . "'\n" ;
        die "Could not checkout package '" . $pkgname . "'\n" ;
    }
    }
-   $item = "$projroot/src/all/$pkgname/Makefile" ;
+   $item = "$projroot/src/$pkgname/Makefile" ;
    if ( ! &CTCMCheckout( $item, $projname, $spec )) {
    if ( ! &CTCMCheckout( $item, $projname, $spec )) {
        die "Could not checkout package '" . $pkgname . "' Makefile\n" ;
        die "Could not checkout package '" . $pkgname . "' Makefile\n" ;
    }
    }
 
 
-   $curdir = "$projroot/src/all/$pkgname" ;
+   $curdir = "$projroot/src/$pkgname" ;
    # install target makefile, and update package makefile
    # install target makefile, and update package makefile
    if ( $type eq "bin" ) {
    if ( $type eq "bin" ) {
       &CTInstallMake( "$tool/lib/Makefile.bin.template",
       &CTInstallMake( "$tool/lib/Makefile.bin.template",

+ 6 - 0
dtool/src/interrogate/interrogateBuilder.cxx

@@ -1842,6 +1842,12 @@ define_wrapped_type(InterrogateType &itype, CPPConstType *cpptype) {
 void InterrogateBuilder::
 void InterrogateBuilder::
 define_struct_type(InterrogateType &itype, CPPStructType *cpptype, 
 define_struct_type(InterrogateType &itype, CPPStructType *cpptype, 
                    bool forced) {
                    bool forced) {
+  if (cpptype->get_simple_name().empty()) {
+    // If the type has no name, forget it.  We don't export anonymous
+    // types.
+    return;
+  }
+
   cpptype = TypeManager::resolve_type(cpptype)->as_struct_type();
   cpptype = TypeManager::resolve_type(cpptype)->as_struct_type();
   assert(cpptype != (CPPStructType *)NULL);
   assert(cpptype != (CPPStructType *)NULL);
   cpptype->check_virtual();
   cpptype->check_virtual();

+ 5 - 0
dtool/src/interrogate/typeManager.cxx

@@ -34,6 +34,11 @@ resolve_type(CPPType *type, CPPScope *scope) {
 
 
   type = type->resolve_type(scope, &parser);
   type = type->resolve_type(scope, &parser);
   string name = type->get_local_name(&parser);
   string name = type->get_local_name(&parser);
+  if (name.empty()) {
+    // Don't try to resolve unnamed types.
+    return type;
+  }
+
   CPPType *new_type = parser.parse_type(name);
   CPPType *new_type = parser.parse_type(name);
   if (new_type == (CPPType *)NULL) {
   if (new_type == (CPPType *)NULL) {
     nout << "Type " << name << " is unknown to parser.\n";
     nout << "Type " << name << " is unknown to parser.\n";