Design-for-manufacturing (DFM) concepts have traditionally focused on design simplification; this is highly effective for relatively simple, mass-produced products, but tends to be too restrictive for more complex designs. Effort in recent decades has focused on creating methods for generating and imposing specific, process-derived technical manufacturability constraints for some common problems. This paper presents an overview of the problem and its design implications, a discussion of the nature of the manufacturability constraints, and a survey of the existing approaches and methods for generating/enforcing the minimally restrictive manufacturability constraints within several design domains. Five major design perspectives or viewpoints were included in the survey, including the system design (top-down), product/component design (bottom-up), the manufacturing process-dominant case (product/component design under a specific process), the part-redesign perspective, and sustainability perspective. Manufacturability constraints within four design levels or scales were explored as well, ranging from macro-scale to sub-micro-scale design. Very little previous work was found in many areas, revealing several gaps in the literature. What is clearly needed is a more general, design-method-independent approach to collecting and enforcing manufacturability constraints.