/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* rep.c
*
* This file handles the .nse_depinfo file
*/
/*
* Included files
*/
/*
* Static variables
*/
/*
* File table of contents
*/
/*
* report_recursive_init()
*
* Read the .nse_depinfo file and make a list of all the
* .RECURSIVE entries.
*
* Parameters:
*
* Static variables used:
* bpatch Points to slot where next cell should be added
*
* Global variables used:
* recursive_name The Name ".RECURSIVE", compared against
*/
void
report_recursive_init(void)
{
char *search_dir;
wchar_t *line;
wchar_t *bigger_line;
wchar_t *colon;
wchar_t *dollar;
/*
* This routine can be called more than once, don't do
* anything after the first time.
*/
if (depinfo_already_read) {
return;
} else {
depinfo_already_read = true;
}
if (search_dir == NULL) {
return;
}
return;
}
continue;
}
line = bigger_line;
continue;
}
continue;
}
/*
* If this entry is an old entry, ignore it
*/
continue;
}
/*
* set conditional_macro_string if string is present
*/
}
/*
* get target name into recursive struct
*/
}
}
}
/*
* report_recursive_dep(target, line)
*
* Report a target as recursive.
*
* Parameters:
* line Dependency line reported
*
* Static variables used:
* bpatch Points to slot where next cell should be added
* changed Written if report set changed
*/
void
{
/*
* find an applicable recursive entry, if there isn't one, create it
*/
changed = true;
} else {
changed = true;
}
}
}
/*
* find_recursive_target(target)
*
* Search the list for a given target.
*
* Return value:
* The target cell
*
* Parameters:
* target The target we need
* top_level_target more info used to determinde the
* target we need
*
* Static variables used:
* recursive_list The list of targets
*/
{
/*
* If this entry has already been removed, ignore it.
*/
continue;
/*
* If this target, and the target on the list are the same
* and if one of them contains conditional macro info, while
* the other doesn't, remove this entry from the list of
* recursive entries. This can only happen if the Makefile
* has changed to no longer contain conditional macros.
*/
continue;
continue;
}
}
/*
* If this is not a VERS2 entry, only need to match
* the target name. toptarg information from VERS1 entries
* are ignored.
*/
return rp;
}
} else {
return rp;
}
}
}
return NULL;
}
/*
* remove_recursive_dep(target, top_level_target)
*
* Mark a target as no longer recursive.
*
* Parameters:
* target The target we want to remove
* top_level_target target we want to remove must be built from
* the same top level target
*
* Static variables used:
* changed Written if report set changed
*/
void
{
changed = true;
}
}
}
if(rp->cond_macrostring) {
}
}
}
/* gather_recursive_deps()
*
* Create or update list of recursive targets.
*/
void
gather_recursive_deps(void)
{
/* Go thru all targets and dump recursive dependencies */
if (np->has_recursive_dependency){
has_recursive = false;
/*
* start .RECURSIVE line with target:
*/
/*
* if entry is already in depinfo
* file or entry was not built, ignore it
*/
continue;
continue;
has_recursive = true;
/*
* Write the remainder of the
* .RECURSIVE line
*/
&rec, FIND_LENGTH);
&rec, FIND_LENGTH);
/* Complete list of makefiles used */
}
}
/*
* dump list of conditional targets,
* and report recursive entry, if needed
*/
if (has_recursive){
}
}
}
}